JSTL1.1学习-之核心库

一.JSTL简介
    JSTL全名为JSP Standard Tag Libaray(JSP标准标签函数库),目前最新的版本为

1.1,它是由JCP(Java Commnunity Process)制定的标准规范,提供给我们一个标准通用的

标签函数库.主要分为5大类:
    (1)核心标签库(Core)
    (2)I18N格式标签库(I18N-capable format tab libaray)
    (3)SQL标签库(SQL tag libaray)
           (4)XML标签库(XML tag libaray)
    (5)函数标签库(Functions tag libaray)
二.使用JSTL的好处

    Web程序员能供利用JSTL和EL来开发Web程序,取代传统直接的在页面上脚本的方式

(scriplet),提高程序的可读性,易如维护,和开发。使得在视图页面上基本不用使用

脚本代码的,从而页面设计人员和标签的功能开发人员分离,甚至页面设计人员不用学

习JSP脚本语言

三.前提条件:
    JSTL1.1必须在Servlet2.4和JSP2.0以上的容器才能正常工作
    下载JSTL1.1
    地址:http://jakarta.apache.org/builds/jakata-tablibs/releases/standard/
    MyEclipse5.1以后的版本自带了JSTL1.1 
    下载后把jstl.jar,standard.jar复制到你的web工程/WEB-INF/lib/目录下,还有这

些标签库描述文件:c-1_0-rt.tld,c-1_0.tld,c.tld等等
    在jsp页面中添加
    <%@ taglib uri=“uri” prefix=“prefix” %>

四.核心标签库(CTL)
功能表:
分类
   
功能分类
   
标签名称


Core
   
表达式操作
   
out、set、remove、catch
流程控制
   
if、choose、when、otherwise
迭代操作
   
forEach
forTokens
URL操作
   
import param
url param
redirect param

下面我们来具体看看:

    * 表达式操作

            1.< c:out value=“${value}” [escapeXml=“true | false”]

[default=“defaultvalue”] />             
                用途:页面写(出入)数据 
                属性:
                value 显示得值,它是object类型,可以为EL
                escapeXml 是否是使用转换符号,比如:< (<) 、 > ($gt)等等
                default 设置默认值
           2.< c:set>
            < c:set value=“${value}” var=“unable-EL” scope=“unable-EL”

target=“${target}”  property=“${property}” />             
            用途:变量设置
            属性:
            value  设置变量的值、Object类型
            var     设置变量的名称、String类型、不能为EL表达式
            scope  设置变量的范围、String类型、不能为EL表达式、默认值:page、

可为application,session,request
            target   查找的JavaBean或java.util.Map对象,Object
            property   targer指定的对象的属性
           3.< c:remove>
            < c:remove var=“variable” scope=“page | application | session

| request”/>         
            用途:变量容器去变量
            属性(均不能为EL):
            scope  变量存储的范围
            var 为变量名称
           4.< c:catch [var=“variable”] />
            用途:捕捉异常 
            属性:
            var :用类存储错误信息的变量

    * 流程控制
      1.< c:if test=“${value1 == value2}” var=“save_test_result” scope=“

application | request | ….” />
      判断语句
      属性:
      test 为Boolean类型、逻辑表达式结果
      var 为String类型,保存test的结果,为”true”|”false”
      scope 为String类型、变量var的存储范围

             2.< c:choose>
            为< c:when>、< c:otherwise>的父标签
            主题内容(BodyContent)
            1或多个< c:when>
            0或多个< c:otherwise> 
            例如:
            < c:choose>
            < c:when/>
            < c:otherwise>
            < c:when/>
            < /c:choose>

            3.< c:when>

            用法和< c:if>差不多,但是它必须在< c:otherwise>之前(相当于if必须

在else之前)
            属性:
            test   和c:if test属性一样
            4.< c:otherwise>
            相当于else语句,当<c:when>的条件不成立时,运行其主题内容
            比如:
            < c:when test=“${user.role == “admin”}” >
            < c:out value=“你好管理员先生:${user.name}”/>
            < /c:when>
            < c:otherwise >
                <c:out value=“你好!”/>
            < /c:otherwise>

    * 迭代操作

         1.< c:forEach var=“unable-el” item=“Collection” [varStatus=

“unable-el”] [begin=“begin-index”] [end=“end-index”] [step=“step-

length”]>
        在Collection对象中迭代操作
        属性:
        var: 变量名称,String类型,不能为EL
        Item:Collection对象, 可以为EL
        varStatus:变量的成员信息,String类型,不能为EL
        begin:迭代时候的变量开始位置,int类型,默认值:0
        end:迭代时候的变量结束位置,int类型
        step:为步长,int类型,默认值为1
       2.< c:forTokens item=“StringTokens” delims=“delimiters” [var=

“variableName”] [varStatuts=“uanble-el”] [begin=“begin-index”] [end=

“end-index”] [step=“step-length”] >BodyContent< /c:forTokens>
        从StringToken利用界定符号迭代
        属性:
        var: 变量名称,String类型,不能为EL
        Item:String对象,多为正则表达式, 可以为EL
        varStatus:变量的成员信息,String类型,不能为EL
        begin:迭代时候的变量开始位置,int类型,默认值:0
        end:迭代时候的变量结束位置,int类型
        step:为步长,int类型,默认值为1

    * URL操作

       1.BodyContent
用于把其他静态或动态的文件包含至本身的JSP页面。又区别于,他不但能够包含自身web

应用程序的文件,还能够        包含不同的web应用程序的的文件。
        属性
        uri 文件包含的地址 String类型
        context 在相同容器下,不同的web站台必须”/”开头,String类型
        var: 变量名称,存储文件中的内容,String类型,不能为EL
       scope 为String类型、变量var的存储范围,不能为EL
       charEncoding 文件内容的编码   String类型
       varReader 以Reader对象的形式存储文件中的内容,不能为EL
       2.< c:param name=“${name}” value=“${param.name}” />
        请求中的参数
        属性:
        name : 参数名称 ,String类型
        value : 对应参数的值
        比如:
        < c:import url=“www.xxxx.com “ >
            <c:param name=“name” value=“yourname” />
        < /c:import >
        等同于:
        http://www.xxxx.com?name=yourname
        3.< c:url value=“${value}” [context=“${context}”] [var=“varName

”] [scope=“application | request”] />
        产生一个url,其中主题内容必须文
        属性:
        value url地址 String类型
       context 在相同容器下,不同的web站台必须”/”开头,String类型
        var: 变量名称,存储文件中的内容,String类型,不能为EL
       scope 为String类型、变量var的存储范围,不能为EL
        比如:
       < img src=“<c:url value=‘www.xxxx.com’ >< c:param name=‘picture’

value=‘picName’/></c:url>” />
< img src=“www.xxxx.com/?pictue=picName” />
       4.< c:redirect url=“${url}” [context=“${context}”] />
        从定向到url
        属性:
        uri 文件包含的地址 String类型
        context 在相同容器下,不同的web站台必须”/”开头,String类型
        比如:
           < c:redirect url=“<c:url value=‘www.xxxx.com’>< c:param name=‘

paramName’ value=‘paramName’ /></c:url>” context=“/contextName” />
    等同< c:redirect url=“< c:url value=‘www.xxxx.com’ /></c:url>”

context=“/contextName” >< c:param name=“paramName” value=‘paramValue’

/></c:redirect>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值