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)
相关推荐
李慕婉学姐16 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆18 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin18 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model200518 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
荒诞硬汉19 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国19 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_9418824819 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈19 小时前
两天开发完成智能体平台
java·spring·go
alonewolf_9920 小时前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹20 小时前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理