首页 > 代码库 > 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>默认会将 <、>、’、” 和 & 转换为 &lt;、&gt等,可以设置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