Java学习路线-54: JSTL(标准标签库)

举报
彭世瑜 发表于 2021/08/14 01:20:43 2021/08/14
1.3k+ 0 0
【摘要】 第 9 章 : JSTL(标准标签库) 资料: JSP 标准标签库(JSTL) JSTL 是对 EL 表达式的扩展标签语言 pom.xml <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>...

第 9 章 : JSTL(标准标签库)

资料:
JSP 标准标签库(JSTL)

JSTL 是对 EL 表达式的扩展标签语言

pom.xml

<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version>
</dependency>
<dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version>
</dependency>

  
 

JSTL 四大标签库

  1. core 核心标签库 学习重点
  2. fmt 格式化标签库 只需要学习日期,数字
  3. sql 数据库标签库 过时了
  4. xml xml 标签库 过时了

导入标签库

<% @taglib prefix="前缀" uri="路径" %>

  
 

核心标签库 core,c 标签

out 和 set
remove
url
if
choose
forEach

  
 

out 输出

<c:out value="<string>" 内容 default="<string>" 默认值 escapeXml="<true|false>" 转义 />

  
 

示例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:out value="name" default="Tom" />

  
 

set 设置

<c:set var="<string>" 变量 value="<string>" 值 target="<string>" 对象 property="<string>" 属性 scope="<string>" 作用域 />

  
 

remove 删除数据

<c:remove var="<string>" 变量名称 scope="<string>" 作用域 />

  
 

url 将 URL 格式化为一个字符串

<c:url
  var="<string>" 变量名
  scope="<string>" 作用域
  value="<string>" 基础URL
  context="<string>" 本地网络应用程序的名称
/>

<!-- 指定参数 -->
<c:param name="<string>" value="<string>"/>

  
 

示例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:url value="/name" />
<!-- 输出:/demo/name -->

<!-- 等价于 -->
${pageContext.request.contextPath}/name
<c:url value="/name"> <c:param name="key" value="value"/>
</c:url>

<!-- 输出 /demo/name?key=value -->

  
 

if 和 choose 标签

<c:set var="name" value="Tom" />

<c:if test="${not empty name}"> <c:out value="${name}" />
</c:if>

  
 

forEach 标签

<c:forEach var="i" begin="1" end="5"> ${i}
</c:forEach>

  
 
<% String[] arr = {"big", "pig"};  %>

<% request.setAttribute("arr", arr); %>
<!-- 或者 -->
<c:set var="arr", value="${arr}" />

<c:forEach items="${arr}" var="item" > ${item}
</c:forEach>

  
 

循环状态变量

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.ArrayList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<% ArrayList<String> list = new ArrayList<String>(); list.add("Tom"); list.add("Jack"); list.add("Steve"); // 加到域对象中 pageContext.setAttribute("list", list);
%>

<c:forEach items="${list}" var="item" varStatus="status"> ${status.count}${item}
</c:forEach>

  
 

属性

status.count 元素个数
status.index 元素下标
status.first 是否为第一个元素
status.last 是否为最后一个元素
status.cuttent 当前元素

  
 

fmt 标签格式化

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Date" %>

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<!-- 格式化日期 -->
<%
Date date = new Date();
pageContext.setAttribute("date", date);
%>

<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss" />
<!-- 2020-05-16 23:32:34 -->
<!-- 格式化数字 -->
<%
pageContext.setAttribute("num", 3.141592653);
%>

<fmt:formatNumber value="${num}" pattern="0.00" />
<!-- 3.14 -->

  
 
0.00 不足 0 补位
#.## 不足不补位

  
 

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/106181147

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。