JSTL即JSP标准标签库标准,当前标准的版本是1.1。JSTL是JSP标签库的一种应用。
官方网址:
http://java.sun.com/products/jsp/jstl/
JSTL标记库由以下标记组成:
core:核心标签,流程控制, 处理作用域变量, 变量的显示, 异常的处理, url的处理;
formatting:日期, 时间, 数字等的有关i18n的格式化处理;
xml:解析xml和通过xsl转换文档格式的处理;
sql:SQL数据库操作的处理。
比较常用的是core和formatting标签。xml标签用于特定场景的数据显示,sql标签用于敏捷开发(j2ee开发为了分工和关注分离,往往通过dao在java代码中封装sql操作)
安装JSTL
复制以下jar文件到WEB-INF/lib:
jstl.jar
standard.jar
core标签
在需要核心标签支持的JSP页面中加入:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
设置和显示变量
国家:<c:out value="${address.state}" default="不详"/><br /><c:set target="${address}" property="state" value="中国"/>国家:<c:out value="${address.state}" default="不详"/><br />
out可以设置默认值,这是EL无法做到的。
创建变量(上面是赋值javabean属性):
<c:set var="test" value="变量测试" scope="session"/>${test }
条件流程
类似java的if语句:
<c:if test="true"> 包含在<c:if>中的内容.<br/></c:if>
test属性中的是结果为bool型的表达式。
分支流程
类似java的if/else(虽然表面上看起来更像switch/case):
<c:choose> <c:when test="${address.city==’北京’}"> 地址.城市:北京 </c:when> <c:when test="${address.city==’上海’}"> 地址.城市:上海 </c:when> <c:otherwise> 地址.城市:其他城市 </c:otherwise> </c:choose>
循环流程
简单的循环, 类似for循环:
<c:forEach var="i" begin="0" step="1" end="9"> 循环${i}次<br/> </c:forEach>
类似iterator的用法:
<%List list=new ArrayList();list.add("中国");list.add("美国");list.add("日本"); request.setAttribute("countryInfos",list);%><p />国家列表:<br /> <c:forEach items="${countryInfos}" var="country">${country }<br /> </c:forEach>
处理Java异常
<c:catch var="e"> <% if (true){ throw new Exception("测试异常的消息"); } %> </c:catch>打印异常的消息:${e.message} <br>
处理URL
在需要url重写或者url中包含特殊字符时,需要url标签:
定义url
<c:url value="" var="localUrl"> <c:param name="persent" value="70%" /></c:url>
在html链接中使用url类型变量:
<a href="${localUrl}">本页面URL</a><br />
格式化标签
在需要格式化标记支持的JSP页面中加入:
<%@ taglib prefix="fmt"
uri="http://java.sun.com/jsp/jstl/fmt" %>
格式化数字
<c:set var="aNumber" value="100.1257000003"></c:set>显示为金额: <fmt:formatNumber type="currency" value="${aNumber}" /><br />显示为百分数: <fmt:formatNumber type="percent" value="${aNumber}"/><br />显示为指定格式: <fmt:formatNumber value="${aNumber}" pattern=".###"/><br />
常用格式:
type="currency", 使用本地货币;
type="percent", 使用百分数格式;
pattern=".###", 自定义格式, 小数点后保留3位。
格式化日期
将字符串解析为日期对象:
<fmt:parseDate var="aDate" pattern="yyyy-MM-dd" value="1999-1-1"/>
将日期对象格式化输出:
<fmt:formatDate value="${aDate}" pattern="yyyy年MM月dd日"/><br />
国际化消息
配置web.xml文件, 加入:
<context-param> <param-name> javax.servlet.jsp.jstl.fmt.localizationContext </param-name> <param-value>ApplicationResources</param-value> </context-param>
在classpath根目录下编写ApplicationResources.properties:
userName=User Name
在JSP页面中使用:
<fmt:message key="userName" />
分享到:
相关推荐
**JSTL(JavaServer Pages Standard Tag Library)小结** JSTL,全称为JavaServer Pages Standard Tag Library,是Java Web开发中常用的一套标准标签库,它为开发者提供了处理常见页面逻辑的功能,如迭代、条件判断...
JSTL,全称JavaServer Pages Standard Tag Library,是一个用于JSP页面的开源标签库,由Apache Jakarta项目维护。它旨在提高JSP开发的效率,通过提供一系列预定义的标签来简化常见任务,如控制流、迭代、XML处理、...
10.1 JSP标准标签库 10.2 核心标签库 10.3 其他JSTL标签库 10.4 使用标签文件 10.5 小 结
#### 小结 通过上述介绍可以看出,JSTL为JSP开发者提供了强大的功能,可以极大地简化页面逻辑的编写工作。通过使用这些标签,可以实现更为清晰、简洁的代码结构,同时也有助于提高程序的可读性和可维护性。在实际...
### 小结 本文详细介绍了JSTL中的几种常用标签库及其主要标签的功能与用法。通过这些标签的合理运用,可以极大地提高JSP页面的可读性和可维护性,同时也能有效地减少JSP页面中的Java脚本代码量,让开发者能够更加...
1.5 小结 13 第2章 使用Jakarta Commons来简化开发 14 2.1 Jakarta Commons的功能和用法 14 2.2 小结 18 第3章 Java EE容器 19 3.1 什么是容器 19 3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在...
你需要确保在项目的类路径下包含了JSTL的jar文件,或者在Maven/Gradle等构建工具中添加对应的依赖。 6. **Struts工作流程**: - 用户发送请求到达Servlet容器。 - 请求被Struts2 Filter截获。 - Filter根据`...
第9章 页面控制利器——JSTL标签库 186 ?视频讲解:85分钟9.1 JSTL标签库简介 186 9.2 JSTL的下载与配置 187 9.2.1 下载JSTL标签库 188 9.2.2 配置JSTL 188 9.3 表达式标签 ...211 9.8 小结 213 9.9 习题 213
视图部分则通过丰富的标签库呈现用户界面,这些标签使用OGNL(Object Graph Navigation Language)表达式作为基础,不仅支持OGNL,还兼容JSTL, Groovy和Velocity等表达式。Struts2的标签库定义在URI为 `/struts-tags...
对 JSP 的 简单总结 ,看到这个就可以 回忆起 你学习的jsp 的经历 ...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...
第一部分 Strut 2:一个全新的框架 第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 ...15.7 小结 332
**小结:** 确保开发环境(如IDE)中的JDK版本与项目实际使用的版本保持一致是避免此类问题的关键。 --- #### 2. JSP标签库配置问题 **异常表现:** 当出现类似 `org.apache.jasper.JasperException: The ...
1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...
1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 ...
### 小结 通过上述介绍,我们可以了解到EL 和 JSTL 在JSP页面开发中的重要作用。EL 使得开发者能够更加简洁地访问各种作用域内的对象,而 JSTL 标签库则提供了一系列功能强大的标签,大大提高了页面开发的效率和可...
这是一个非常小的全栈Web应用程序,仅用作示例,仅用于演示目的。 发展 本地运行 结帐代码 git clone https://github.com/colinbut/sales-order-system.git 进行本地构建 mvn clean package ...将编译源代码,打包...