一JSTL概述L
JSTL是Java中的一个定制标记库集。JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
二、下载与导入
1.下载:Apache的网站下载JSTL的JAR包。进入 “http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”
网址下载 JSTL的压缩包。jakarta-taglibs-standard-1.1.2.zip
2.导入:解压后在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD),将两个文件导入项目中。
三、测试JSTL
四、JSTL中的Core标签库
1.<c:out>标签
标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性。
举例来说,如果想要访问customer.address.street,只需要这样写:<c:out value=“customer.address.street”>。
<c:out>标签会自动忽略XML标记字符,所以它们不会被当做标签来处理。
2.<c:if>标签
(1)c:if是JSTL中的一个标签,test是c:if标签的一个attribute,是if的判断内容
(2)c:if的两种使用形式: <c:if test=“x x x x = = 1 " > x x x x 等 于 1 时 候 显 示 的 内 容 < / c : i f > < c : i f t e s t = " {xxxx 1}"> xxxx等于1时候显示的内容</c:if> <c:if test="xxxx1”>xxxx等于1时候显示的内容</c:if><c:iftest="{ empty xxxx}">xxxx等于null的时候显示的内容</c:if>
(3)<c:if>标签用来在页面中实现条件化的判断功能。它的主要目的就是替换Java脚本中的if语句,来实现页面内容的条件化输出功能。这个标签所进行的判读主要是依据表达式来进行的,如果该表达式的求解值为true,那么表示条件成立,将会输出标签体中的内容。否则将不会产生任何的输出。
(4) <c:if>标签的语法说明如下: <c:if test=“expression” var=“name” scope=“scope”> body content </c:if> <c:if>标签具有以下一些属性:l test:用来指定条件判断的表达式。l var:测定结果的变量名,用来保存条件判断表达式的结果。这样做的目的就是避免在页面中多次进行相同的判断。l scope:测试结果变量的作用域范围。
3.<c:choose>标签
<c:choose> 和 <c:when> 、 <c:otherwise> 一起实现互斥条件执行,类似于 java 中的 if else.
<c:choose> 一般作为 <c:when> 、 <c:otherwise> 的父标签。
4.<c:forEach>标签
<c:forEach>标签用于通用数据循环,它有以下属性
属 性描述是否必须缺省值
items 进行循环的项目 否 无
begin 开始条件 否 0
end 结束条件 否 集合中的最后一个项目
step 步长 否 1
var 代表当前项目的变量名 否 无
varStatus 显示循环状态的变量 否 无