目录
[- 日期格式化标签](#- 日期格式化标签)
[- 解析日期标签](#- 解析日期标签)
[- 根据不同的区域设置对数字进行本地化显示](#- 根据不同的区域设置对数字进行本地化显示)
EL表达式可以简化脚本表达式,但脚本片段代码却无法简化
一、JSTL概述
- JSTL(Java Standard Tag Library), java标准标签库,apache提供的一组标签库
- JSTL用于替换JSP页面中的JSP脚本代码,通常结合EL表达式一起使用,达到简化JSP页面开发的目的
JSTL标签库分类

二、JSTL核心标签库
JSTL Core核心标签库包含负责流程控制、变量管理等功能的核心标签
1、变量设置和删除标签
- <c:set>
- <c:remove>
2、流程控制标签
- <c:if> - 单条件判断
- <c:choose>,<c:when>,<c:otherwise> -- 多条件判断
- <c:forEach> - 循环
- <c:forTokens> --分割字符串
3、其他标签
- <c:redirect> - 重定向
- <c:import> - 导入资源
开发步骤
在项目的WEB-INF/lib目录下引入jstl jar包(相关jar包可以在资源中找到,选择与sql版本对应的jar包)

在JSP页面中引入核心标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>,然后就可以使用核心标签库的语法了
语法
1、单条件判断
java
<c:if test="${条件语句}">
条件语句成立则执行,否则不执行。
</c:if>
2、多条件判断
java
<c:choose>
<c:when test="${条件语句1}">
代码块1
</c:when>
<c:when test="${条件语句2}">
代码块2
</c:when>
<c:otherwise>
所有条件语句都不成立时执行的代码块
</c:otherwise>
</c:choose>
3、循环语句
指定遍历范围
java
<c:forEach var="i" begin="起始值" end="结束值" step="步长">
<p>数值: ${i}</p>
</c:forEach>
遍历集合/数组
java
<c:forEach var="变量名" items="${集合名}">
${变量名}
</c:forEach>
分割字符串
java
<c:forTokens items="字符串" delims="分隔符" var="变量名">
${变量名}
</c:forTokens>
4.其他标签
重定向
java
<c:redirect url="重定向后资源路径" />
导入资源
java
<c:import url="要导入的资源路径" />
三、JSTL格式化标签库
JSTL格式化标签库提供了关于格式化、解析相关的标签,
例如:日期格式化、数字格式化
1、引入格式化标签库
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
2、使用格式化标签
- <fmt:formatDate> - 日期格式化标签
- <fmt:parseDate> - 解析日期标签
语法
<fmt:formatDate> - 日期格式化标签
java
<fmt:formatDate value="${日期变量}" pattern="日期格式" />
例如: <fmt:formatDate value="${date}" pattern="yyyy-MM-dd" />
<fmt:parseDate> - 解析日期标签
java
<fmt:parseDate value="${日期字符串}" pattern="日期格式" var="变量名" />
例如: <fmt:parseDate value="${dateStr}" pattern="yyyy-MM-dd" var="parsedDate" />
<fmt:formatNumber> - 根据不同的区域设置对数字进行本地化显示
重要属性
- value:要格式化的数字
- type:格式化的类型,number、currency(货币)或percent(百分比)
- currencySymbol:当type为currency时,可以指定货币符号(如$、¥等)
- pattern:自定义格式模式,类似于Java中的DecimalFormat
- maxFractionDigits:最大小数位数
- minFractionDigits:最小小数位数
设置页面本地环境
- <fmt:setLocale value="en_US"/> 设置页面的本地化环境为美国英语(en_US)
- <fmt:setLocale value="zh_CN"/>设置页面的本地化环境为简体中文(zh_CN)