JSTL

1.JSTL简介

JSTL是原SUN公司提供的一套标准标记库,包括c.tld、fmt.tld、x.tld、sql.tld四个主要标记库。

(1)c.tld:c.tld称为核心标记库,包含一些Web应用常用标记,如循环、分支、表达式赋值和基本输入/输出等,是最常使用的标记库。
(2)fmt.tld:fmt.tld称为格式化/国际化标记库,包括用来解析数据的标记,如日期等。
(3)sql.tld:sql.tld称为数据库标记库,包含访问数据库的标记。
(4)x.tld:x.tld称为XML标记库,包含被用来访问XML元素的标记。

JSTL与EL是什么关系?

EL最初只能在JSTL中使用,不能直接在JSP文件中使用。JSP2.0规范开始支持在JSP文件中直接解析EL。现实开发过程中,往往EL都是与JSTL结合使用,简化JSP的开发。如果没有EL,JSTL使用将很困难,需要大量复杂的表达式。如果不结合JSTL,EL的作用也非常有限。

2.JSTL使用

在JSP中使用taglib指令,导入tld文件  <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

(1)c.tld中的通常目的标记。

① <c:out value="${name}"/>:输出value的值,往往可以直接使用EL替代该标记。
 

② <c:set var="loggedIn" scope="session" value="${true}"/>:将value的值作为属性存储到scope中。
 

③ <c:remove var="loggedOut" scope="session"/>:从scope中删除名字为var的属性。
 

④ <c:catch var="e"><%=100/0 %></c:catch>:捕获异常,异常对象使用e封装。

 

(2)c.tld中的条件标记。 

① <c:if test="${user.login}">Welcome!</c:if>:如果test的值为true,则运行<c:if></c:if>之间的代码。
 

② <c:choose>, <c:when>, <c:otherwise>:实现if/else if/else逻辑

<c:choose>          
     <c:when test="${13>4}">   
		hello!              
	 </c:when>             
	 <c:when test="${4<5}">     
		hi!             
	 </c:when>  
	<c:otherwise>           
		how are u?             
	 </c:otherwise>             
</c:choose>

 

(3)c.tld中的循环标记。

① <c:forEach>标记:items属性指定需要迭代的集合或数组,var属性指定迭代的当前元素 

<c:forEach items="${allcustomers}" var="cust"> 
</c:forEach>

② <c:forToken>标记:items属性指定需要迭代的字符串,delims表示分隔符,var表示使用分隔符分割items产生的字符串

<c:forTokens items="a:b:c:d" delims=":" var="token">

               <c:out value="${token}"/>        

  </c:forTokens>
 

(4)c.tld与url有关的标记。 

① <c:import>标记:用来包含一些文本信息。

<c:import url="http://www.5retc.com/cnn.rss" />

② <c:redirect>标记:进行响应重定向。

 <c:redirect url="index.jsp">

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

 </c:redirect>
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值