首页 > 代码库 > JSTL
JSTL
一.简介
JSTL:JSP 标准标签函数库
JSTL所提供的标签函数库主要分为五大类:
(1)核心标签库 (Core tag library) c http://java.sun.com/jsp/jstl/core eg.<c:out>
(2)I18N 格式标签库 (I18N-capable formatting tag library) fmt http://java.sun.com/jsp/jstl/fmt eg.<fmt:formatDate>
(3)SQL 标签库 (SQL tag library) sql http://java.sun.com/jsp/jstl/sql eg.<sql:query>
(4)XML 标签库 (XML tag library) xml http://java.sun.com/jsp/jstl/xml eg.<x:forBach>
(5)函数标签库 (Functions tag library) fn http://java.sun.com/jsp/jstl/functions eg.<fn:split>
二.使用JSTL
(1)将 jstl.jar、standard.jar 复制到Tomcat的WEB-INF\lib
(2)在JSP 网页中声明
eg.< %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
注:http://java.sun.com/jsp/jstl/core是JSTL1.1的默认uri,若想自定义taglib的uri 时,那就必须在web.xml 中加入设定值:
<web-app>... ... <jsp-config> <taglib> <taglib-uri>http://www.milan.com.tw/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib-location> </taglib> </jsp-config>... ...</web-app>
三.标签库介绍
1.核心标签库
常用标签按功能分类如下:
(1)表达式操作
a.<c:out> 显示数据
语法:<c:out http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/value="value" [escapeXml="{true|false}"] [default="defaultValue"] />
或<c:out http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/value="value" [escapeXml="{true|false}"]>default value</c:out>
分析:value:显示的数据
default:value=http://www.mamicode.com/null时,显示该默认值,若不设置,当value=null时,显示空字符串
escapeXml:是否转换特殊字符,<c:out>默认会将 <、>、’、” 和 & 转换为 <、>等,可以设置false,不转换
所以<c:out value="http://www.mamicode.com/
测试
"/>若不设置escapeXml=false,则输出 <p>测试</p>
b.<c:set> 将变量储存至JSP 范围中或是JavaBean 的属性中
语法:<c:set http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/value="value" var="varName" [scope="{ page|request|session|application }"]/>
或 <c:set var="varName" [scope="{ page|request|session|application }"]>内容</c:set>
表示将value存到scope指定范围的varName变量中,scope默认为page
注:若value=http://www.mamicode.com/null,若scope确定,则PageContext.removeAttribute(varName, scope),若scope不确定,PageContext.removeAttribute(varName)
< c:set http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/http://www.mamicode.com/value="value" target="target" property="propertyName" />
或<c:set target="target" property="propertyName">内容</c:set>
表示将value 的值储存至 target 对象的propertyName属性中
注:target为map或javabean,否则抛异常,target=null也会抛异常
value=http://www.mamicode.com/null时,若target=map,则target.remove(propertyName);若target=javabean则target.propertyName=null
JSTL