Java EE开发技术(第七章:JSTL标签库)

目录

一、JSTL概述

JSTL标签库分类

二、JSTL核心标签库

1、变量设置和删除标签

2、流程控制标签

3、其他标签

开发步骤

语法

1、单条件判断

2、多条件判断

3、循环语句

指定遍历范围

遍历集合/数组

分割字符串

4.其他标签

重定向

导入资源

三、JSTL格式化标签库

1、引入格式化标签库

2、使用格式化标签

语法

[- 日期格式化标签](#- 日期格式化标签)

[- 解析日期标签](#- 解析日期标签)

[- 根据不同的区域设置对数字进行本地化显示](#- 根据不同的区域设置对数字进行本地化显示)


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、引入格式化标签库

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)
相关推荐
海兰12 分钟前
使用 Spring AI 打造企业级 RAG 知识库第二部分:AI 实战
java·人工智能·spring
历程里程碑29 分钟前
二叉树---二叉树的中序遍历
java·大数据·开发语言·elasticsearch·链表·搜索引擎·lua
小信丶43 分钟前
Spring Cloud Stream EnableBinding注解详解:定义、应用场景与示例代码
java·spring boot·后端·spring
无限进步_1 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
亚历克斯神1 小时前
Spring Cloud 2026 架构演进
java·spring·微服务
七夜zippoe1 小时前
Spring Cloud与Dubbo架构哲学对决
java·spring cloud·架构·dubbo·配置中心
海派程序猿1 小时前
Spring Cloud Config拉取配置过慢导致服务启动延迟的优化技巧
java
阿维的博客日记1 小时前
为什么不逃逸代表不需要锁,JIT会直接删掉锁
java
William Dawson1 小时前
CAS的底层实现
java
九英里路1 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串