JSP笔记——JSTL标签

一、.JSTL概念

JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。顾名思义,format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据,而 sql 库定义了用来查询关系数据库的操作。

如果要使用JSTL,则必须将jstl.jar和 standard.jar文件放到classpath中。

二、分类

1.核心标签库

引用核心标签库:<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>

<c:out>标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性.

语法格式:<c:out value="<string>" default="<string>" escapeXml="<true|false>"/>

属性:

<c:out value="<B>goodgood</B>" escapeXml="true"></c:out><!--输出结果:<B>goodgood</B>-->
<c:out value="<B>goodgood</B>" escapeXml="false"></c:out><!--输出结果:加粗的字体-->

<c:set>标签用于设置变量值和对象属性。

语法格式:<c:set var="<string>" value="<string>" target="<string>" property="<string>" scope="<string>"/>

属性:

如果指定了target属性,那么property属性也需要被指定。

<c:set var="sal" scope="session" value="${2000*2 }"/>
<c:out value="${sal }"></c:out><!-- 输出结果4000 -->

<c:remove>标签用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。

语法格式:<c:remove var="<string>" scope="<string>"/>

<c:set var="sal" scope="session" value="${2000*2 }"/>
sal变量值:<c:out value="${sal }"></c:out><!-- 输出结果4000 -->
<c:remove var="sal"/>
删除sal变量后的值:<c:out value="${sal }" default="1234"></c:out>


<c:catch> 标签主要用来处理产生错误的异常状况,并且将错误信息储存起来。

语法格式:<c:catch var="<string用来储存错误信息的变量>">...</c:catch>

<c:catch var="catchException"><% int x=5/0; %></c:catch>
    <c:if test="${catchException !=null }">
    	异常为:${catchException }<br>
    	发生异常:${catchException.message }
    </c:if>


<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。

语法格式:<c:if test="<boolean>" var="<string>" scope="<string>"> ...</c:if>

<c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。

语法格式:

<c:choose>

    <c:when test="<boolean>"/> ...</c:when>

    <c:when test="<boolean>"/> ...</c:when>

    <c:otherwise> ...</c:otherwise>

</c:choose>


<c:choose>标签没有属性。

<c:when>标签只有一个属性,在下表中有给出。

<c:otherwise>标签没有属性。

   <c:set var="age" value="30" scope="page"/>
   <c:choose>
   	<c:when test="${age<18 }">年龄为:<c:out value="${age }"/></c:when>
   	<c:when test="${age>18&&age<40 }">年龄为:<c:out value="${age }"/></c:when>
   	<c:otherwise>年龄为:<c:out value="${age }"/></c:otherwise>
   </c:choose>

<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL。

语法格式:<c:import url="<string>" var="<string>" scope="<string>" varRender="<string>" context="<string>"  charEncoding="<string>"/>

属性:


<c:forEach>标签是更加通用的标签,因为它迭代一个集合中的对象。这些标签封装了Java中的for,while,do-while循环。

<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。

语法格式:<c:forEach items="<object>" begin="<int>" end="<int>" step="<int>" var="<string>" varStatus="<string>">

<c:forTokens>标签与<c:forEach>标签有相似的属性,不过<c:forTokens>还有另一个属性:

<c:forEach var="i" begin="1" end="5">
   循环值: <c:out value="${i}"/><p>
</c:forEach>


<c:forTokens items="google,runoob,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>


<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。

在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值。

语法格式:<c:param name="<string>" value="<string>"/>

学习网址:http://www.runoob.com/

2.格式化标签库

3.SQL标签库

4.XML标签库

5.JSTL函数




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值