什么是JSTL ?
EL(element language)语言
JSTL功能介绍
为了抑制JSP里写大量的JAVA代码,所以用JSTL标签来实现JAVA里逻辑调用.
JSTL为条件处理,迭代,国际化,数据库访问和可扩展标记语言XML处理提供支持.极大地简化了对JSP中应用数据的访问和操作.JSTL包括四个自定义标记库.常用标签库,XML,国际化和数据库标签.
JSTL标签库
JSTL通常被认为是一种单标签库。但JSTL实际上有4个标签库。这些标签库被概括为如下:
.核心标签库—包含一些Web应用的必要的标签。核心标签库的实例包括循环,表达式赋值和基本输入输出。.
.格式化/国际化标签库—包括被用来解析数据的标签库。这种标签会解析数据,比如日期,不同的场所区域等。
.数据库标签库—包含被用来访问SQL数据库的标签。这些标签通常仅仅只创建原形(prototype)程序。这个是因为大多数程序不会直接从JSP页面中来处理数据库访问。数据库访问应该被嵌入到能够被JSP页面所访问的EJB中。
.XML标签库—包含被用来访问XML元素的标签。因为XML广泛使用于Web开发,XML的处理是JSTL的一个重要的特征。
JSTL常用标签
<c:out>标签用于在JSP中显示数据
例:<c:out value=“${user.userName}”/>
<c:set>标签用于保存数据
例:<c:set target="${user.userName}" property=“userName" value="${user}"/>
将对象user.userName的userName属性值保存到变量user中
<c:remove>标签用于删除数据
例:<c:remove var=“userName” scope=“session”/>
从session中删除userName.
JSTL条件标签
<c:if>是流控制标签
例:<c:if test=“${userName}” >
Welcome !
</c:if>
JSTL条件标签
<c:choose>这个标签不接受任何属性
<c:when>
<c:otherwise>
由于JSTL没有if (){…} else {…}的条件语句,所以这种形式的语句只能用<c:choose>、<c:when>和<c:otherwise>标签共同来完成了。
例:
<c:choose>
<c:when test=“${user.userName}”>aaa
</c:when>
<c:when test=“${}”>kkk
</c:when>
<c:otherwise>ddd
</c:otherwise>
</c:choose>
JSTL循环控制标签
<c:forEach>标签提供了一个对元素集合进行迭代的简单方法,如果只要迭代集合中的部分元素,分别指定开始和结束值
例:
<c:forEach var=“userName” items=“${user}”>
<c:out value=“${userName}”/>
</c:forEach>
JSTL URL标签
<c:param>用来传递参数给一个重定向或包含页面
例:<c:redirect url=“http://www.baidu.com" >
<c:param name=“” value=“”/>
</c:redirect>
<c:import>导入一个url的资源,也可以把参数传递到被导入的页面。
例:<c:import url=http://www.baidu.com>
<c:url>输出一个url地址.
例:<a href=“<c:url url=“wap.muzhizu.cn”/>"/>
<c:redirect>将请求地址重定向到另一个页面
例:<c:redirect url=http://www.baidu.com />
JSTL国际化输出标签
<fmt:timeZone>操作的作用域仅限于其标记体内容。在 <fmt:timeZone> 标记体中,由标记的 value 属性指定的时区覆盖了 JSP 环境中现有的任何其它时区设置。
SQL标签
<sql:query>