(十二)Sun公司的Jstl标签库详细介绍

JSP 本身提供的标签很少,不能满足我们日常开发需要,好在 Sun 公司自己提供了一套标签库;

JSTL标签库快速入门(可点击)


目录


< c : out > 标签

用于输出一段文本内容到 pageContext 对象当前保存的 out 对象中 ;跟 out.write() 一样,都是将内容保存到 out 对象里面,最后输送给浏览器 ;

属性名是否支持 EL表达式属性类型属性描述
Valuetrueoject指定要输出的内容
escapeXmltrueBooleean指定是否对 ><$' 等特殊字符进行 HTML 编码转换后再进行输出。默认是 true
defaulttrueObject指定如果 value 的值为 null 的时候,输出的默认值

实例:

  <c:out value="阿里嘎都"></c:out>

< c : set > 标签

用于把某一个对象存在指定的域范围内,或者 设置 web 域中的 java.util.Map 类型的属性对象或 Javabean 类型的属性对象的属性

属性名是否支持 EL表达式属性类型属性描述
valuetrueoject用于为属性赋值
varfalseString用于指定要设置的 web域 中属性的名称
scopefalseString用于指定属性所在的 web 域,默认是 page域
targettrueObject用于指定要设置属性的对象,这个对象必须是 Javabean 对象或者是 java.util.Map 对象
propertytrueString用于当前要为对象设置的属性名称

其中 value 是公用的 ;
varscope 是一起用的,用于在 web域 中存储属性;
targetproperty 是一起用的,用于设置 java.util.MapJavabean 对象的属性值 ;

实例

    <%--在 request域中 存储一个叫 aha 的属性,属性值为 狗蛋--%>
    <c:set var="aha" scope="request" value="狗蛋"></c:set>
    <%--取出这个值--%>
    ${aha}
----------------------------------------------------------
备注:

如果“value”为 null,“var”指定的属性将被删除!

如果“var”指定的属性不存在,则会创建一个属性,但此时 value 属性的值不能为 null----------------------------------------------------------  


    <%--先在page域中创建一个Javabean对象,--%>
    <jsp:useBean id="goudan" class="cn.yaz.web.Bean.Person"></jsp:useBean>
    <%--为Javabean对象设置属性,不再需要之前使用jsp标签了--%>
    <c:set target="${goudan}" property="name" value="goudan"></c:set>
    <%--取值--%>
    ${goudan.name}
-----------------------------------------------    
备注:

如果 target 是一个Map对象,property 指定的是该Map的一个 键;

如果 target 是一个Javabean对象, property 指定的是该Javabean的一个成员字段。

如果 target 为null,容器会抛出一个异常。

如果 target 表达式不是一个 Map 或 Javabean,容器会抛出一个异常,因为它只能被 Map、Javabean 使用。

如果 target 表达式是一个 Javabean,但是这个 Javabean 没有与 property 匹配的成员字段,容器会抛出一个异常。
-----------------------------------------------


< c : remove > 标签

用于删除 web域 中的保存的属性

属性名是否支持 EL表达式属性类型属性描述
varfalseString指定要删除的属性
scopefalseString用于指定要删除的属性所在的 web域

实例:

 <c:remove var="goudan" scope="page"></c:remove>

< c : catch > 标签

用于捕获嵌套在 标签体中的内容 抛出 异常;

属性名是否支持 EL表达式属性类型属性描述
varfalseString用于标识捕获的异常对象

实例:

     <%--捕获异常--%>
        <c:catch var="yichan">
            <%=
            10 / 0
            %>
        </c:catch>

        <%--打印异常--%>
        <c:if test="${yichan != null}">
            发生异常:${yichan.message}
        </c:if>

< c : choose> 标签

用于指定多个条件选择的组合边界,它必须与 <c:when><c:otherwise> 一起使用。

三个标签一起使用,可以构造出类似于 id-else-if 的效果 ;

实例:

       <c:choose>
            <c:when test="${1==1}">
                 你可以看到这条信息
            </c:when>
            <c:otherwise>
                这条信息是看不到的
            </c:otherwise>
        </c:choose>

< c : forEach> 标签

用于对一个对象中的元素进行迭代操作;

或者按照指定的次数重复迭代执行标签体的内容;

属性名是否支持 EL表达式属性类型属性描述
varfalseString用于指定将当前迭代到的元素保存在 page域 中的名称
varstatusfalseString用于记录迭代信息的对象
itemstrue任何支持的类型将要迭代的集合对象
brgintrueint如果指定了items属性,就从集合中的第 begin 个元素开始迭代,begin 的索引值从 0 开始编号;

如果没有指定 items 属性,就从 begin 指定的值开始迭代,直到 end 值时结束迭代
endtrueint迭代结束的标记
starttrueint指定迭代的步长,即迭代因子的增量

这里面的 beginendstep 主要是用在分页上;也可以直接迭代;

varstatus,用于记录迭代信息的对象,可以简单理解为记录当前迭代的次数,该对象有个 count 属性,保存了迭代的次数 ;


< c : param> 标签

在 JSP 页面中进行 URL 的相关操作时,经常需要在 URL 地址后面附加一些参数。

该标签嵌套在 <c:import><c:url><c:redict> 标签内,为这些标签所使用的url地址附加参数 ;

在对 URL 地址附加参数的时候,会自动地对参数值进行 URL 编码;这是使用这个标签最大的好处了 ;

属性名是否支持 EL表达式属性类型属性描述
namefalseString用于指定附加参数的名字
valuetrueString用于指定附加参数的属性值

该标签需要嵌套使用,暂时并不能给出实例,等学完后面的两个,就可以给出实例了 ;


< c : url > 标签

用于在JSP页面中构建一个 URL 地址,其主要目的是实现 URL 重写

URL 重写 就是将绘会话标识号以参数形式附加在 URL地址 后面 ;

属性名是否支持 EL表达式属性类型属性描述
varfalseString用于指定构造出来的url的名称,主要用于保存到 web 域中
valuetrueString用于指定要构造的 url
scopefalseString用于指定要构造的 url地址保存到哪一个域中

实例:

        <%--构建出url地址--%>
        <c:url value="index.jsp">
            <%--添加附加参数--%>
            <c:param name="name" value="yaz"></c:param>
            <c:param name="国家" value="China"></c:param>
        </c:url>

构建地址的时候,会自动在地址前面加上当前项目的名字;

如果不写 var 属性,则将返回当前构建的地址;但是返回的仅仅是一个字符串,不是超链接地址

如果写上 var 属性,则将当前构建的地址保存起来

该标签最大的好处是自动进行 URL 重写


< c : redirect > 标签

用于实现请求重定向

属性名是否支持 EL表达式属性类型属性描述
urltrueString指定要转发到或者重定向到的目标资源的url
contexttrueString当要使用相对路径重定向到同一台服务器下的另一个web应用程序中资源时,context 指定其他web资源的名字

< c : forTokens > 标签

用于切割字符串 ;

实例:


<!-- 按照 - 切割字符串,并返回它们 -->
 <c:forTokens items="aa" var="${date}" delims="-" >
            ${aa}
        </c:forTokens>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值