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)
相关推荐
信仰_2739932431 小时前
Java面试题
java·开发语言
q***2512 小时前
Spring容器的开启与关闭
java·后端·spring
q***44812 小时前
java进阶--多线程学习
java·开发语言·学习
0***m8222 小时前
Maven Spring框架依赖包
java·spring·maven
艾斯比的日常2 小时前
Neo4j 完全指南:从核心特性到 Java 实战(附企业级应用场景)
java·开发语言·neo4j
K***43062 小时前
三大框架-Spring
java·spring·rpc
后端小张2 小时前
【JAVA 进阶】深入探秘Netty之Reactor模型:从理论到实战
java·开发语言·网络·spring boot·spring·reactor·netty
我命由我123454 小时前
Java NIO 编程 - NIO Echo Server、NIO Client(NIO 异步客户端、NIO Selector 异步客户端)
java·开发语言·网络·java-ee·intellij-idea·intellij idea·nio
嗯、.4 小时前
使用Itext9生成PDF水印,兼容不同生成引擎的坐标系(如: Skia、OpenPDF)
java·pdf·itextpdf·openpdf·坐标变换矩阵