JSTL使用总结(1) 核心标签库

本文详细介绍了JSP标准标签库(JSTL)的配置及使用方法,包括核心标签库中的输出、设置变量、条件判断等功能,展示了如何利用这些标签简化JSP页面的开发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSTL是JSP的标准标签库,他提供了许多非常实用的功能,免去了我们自定义标签的麻烦,从而达到在JSP页面中无Scriptlet的效果。

JSTL只是方便了我们开发,如果不使用,并不会妨碍我们开发,一般JSTL是与表达式语言一起使用的。


一、JSTL配置


把JSTL.jar放入tomcat\lib中,并把JSTL.jar中的tld文件放入WEB-INF中,他所提供的tld文件有:

(1)c.tld 核心标签库,提供比如迭代输出等操作。

(2)fmt.tld 格式化操作。

(3)sql.tld 提供sql查询、更新等操作。

(4)x.tld 提供xml的操作。

(5)fn.tld 提供字符串的函数操作,比如contains、startsWith等操作。


二、核心标签库


1.<c:out>


用于输出,一般结构如下:<c:out value=" " escapeXml=" " default=" "/>

value表示需要输出的值;

escapeXml表示是否需要将类似<转为"&lt";

default表示如果value为null,则输出此语句;


2.<c:set>


用于设置内置对象属性或自定义对象属性,一般结构如下:

(1)<c:set var=" " value=" " scope=" "/>

var表示属性的名称;

value表示属性的值;

scope表示存储的范围;

(2)<c:set target=" " property=" " value=" "/>

target表示对象名称;

property表示属性名称;

value表示属性的值;


3.<c:remove>


用于移除内置对象属性;一般结构如下:

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

var表示属性名称;

scope表示属性范围;


4.<c:catch>


用于捕获异常,类似try - catch;一般结构如下:

<c:catch var=" ">

语句

</c:catch>

var用来保存异常的信息;


5.<c:if>


类似if语句,一般结构如下:

<c:if test=" " var=" " scope=" ">

执行语句

</c:if>

test 表示判断;

var表示保存判断结果;

scope表示结果保存范围;


6.<c:choose>


用于多重判断;一般结构如下:

<c:choose>

<c:when test = " "> <!--用于判断 -->

语句

</c:when>

<c:when test = " ">

语句

</c:when>

<c:otherwise> <!--当全部的when不成立时,进入 -->

语句

</c:otherwise>

</c:choose>


7.<forEach>


用于迭代输出;一般结构如下:

<c:forEach items=" " var= " " [ begin=" " ] [ end=" " ] [ step=" " ]>

${var}

</c:forEach>

items表示输出的集合;

var表示迭代器的元素;

begin表示从哪个索引开始;

end表示到哪个索引结束;

step表示输出的间隔;


8.<c:forTokens>


用于分隔字符串并迭代输出;一般结构如下:

<c:forTokens items=" " delims=" " var=" ">

${var}

</c:forTokens>

items表示字符串;

delims表示分隔符;

var表示迭代器;


9.<c:redirect>


用于客户端跳转,一般结构如下:

<c:redirect url=" ">

<c:param name=" " value=" "/> 可以传递参数;

</c:redirect>


10.<c:import>


包含某个网页,一般结构如下:

<c:import url=" " charEncoding=" ">

<c:param name=" " value=" "/>

</c:import>


代码实例:

<%@ page contentType="text/html" pageEncoding="GBK" import="java.util.*"%> <%@ taglib prefix="c" uri="jstl/c"%> <jsp:useBean id="per" class="org.person.Person" scope="page"/> <html> <head> <title></title> </head> <body> <% per.setName("xiazdong"); per.setAge(20); pageContext.setAttribute("per",per); %> <c:out value="${per}" escapeXml="true" default="无内容"/> <c:out value="xiazdong"/> <c:set var="name" value="xiazdong" /> <h3>姓名:${name}</h3> <c:set target="${per}" property="name" value="yxWang"/> <c:out value="${per}" escapeXml="true" default="无内容"/> <!--设定属性并删除 --> <c:set var="attr" value="tmp" scope="request"/> <h3>属性为:${attr}</h3> <c:remove var="attr" scope="request"/> <h3>删除后,属性为:${attr}</h3> <c:if test="${30>10}" var="result" scope="page"> <h3>30比10大</h3> </c:if> <% pageContext.setAttribute("num",15); %> <c:choose> <c:when test="${num<15}"> <h3>num小于15</h3> </c:when> <c:when test="${num>15}"> <h3>num大于15</h3> </c:when> <c:otherwise> <h3>num等于15</h3> </c:otherwise> </c:choose> <% List<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); pageContext.setAttribute("list",list); %> <c:forEach items="${list}" var="iter"> ${iter}、 </c:forEach> <br /> <c:forEach items="${list}" var="iter" begin="2"> ${iter}、 </c:forEach> <br /> <c:forTokens items="a:b:c" delims=":" var="ite"> ${ite}、 </c:forTokens> <br /> </body> </html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值