JSTL学习笔记

 
1, c:out tag的default和escapeXml属性
①default属性
代码:Hello <c:out value="${user.name }" default="Guest" />
结果:Hello Guest
 
代码:Hello <c:out value=" ${user.name }" default="Guest" />
结果:Hello  
 
②escapeXml属性
代码:<c:out value="${null }" default="${'default is&nbsp;1' }" escapeXml="true" />
结果:default is&nbsp;1
 
代码:<c:out value="${null }" default="${'default is&nbsp;1' }" escapeXml="false" />
结果:default is 1
 
组合静态文本和多个 EL 表达式以指定动态属性值 
代码:<c:out value="Hello ${user.firstName} ${user.lastName}"/>;
结果:Hello max Eric
 
2,EL对${identifier}的访问
如果范围变量仅有id,则按page -> request -> session -> application的顺序寻找
所以如果明确知道id的范围,在访问时最好带上范围,这样能增加速度。例如:
${requestScope.identifier}。对应scope名称:pageScope、requestScope、sessionScope和applicationScope。
 
3, c:forTokens解析字符串
delims属性制定的字符串为分隔符,如果delims为多个字符组成的字符串,则只要字符串中含有该字符之一就会被分割。
代码: 
 <c:set var="nameList" value="eric;,henry;,;;selia,;;," scope="request"/>
<c:forTokens items="${nameList }"delims=",;" var="name">
    <li><c:out value="${name }"/></li>
 </c:forTokens>
结果:
· eric
· henry
· selia
 
4, 循环状态varStatus
varStatus是个集合,包括:index(集合中的排序)、count(当前循环次数)、first(是否第一次循环,boolean类型)和last(是否最后一次循环,boolean类型)。
代码:
<c:set var="nameList" value="haha;eric;,henry;,;;selia,;;,wae,lily,tom" scope="request"/>
 <c:forTokens items="${nameList }"delims=",;" var="name" varStatus="status" begin="1" end="5" step="2">
    <li><c:out value="${status.index + 1 }"/>
         <c:out value="${status.count }"/>
         第一次?<c:out value="${status.first }"/>
         最后一次?<c:out value="${status.last }"/>
         名称:<c:out value="${name }"/>
    </li>
 </c:forTokens>
结果:
· 序2 循1 第一次?true 最后一次?false 名称:eric
· 序4 循2 第一次?false 最后一次?false 名称:selia
· 序6 循3 第一次?false 最后一次?true 名称:lily
 
5, jsp:include、c:import和<%@ include %>的区别
jsp:include类似方法,每次都将include的代码执行一遍,并在源页面展示结果;
c:import类似jsp:include,但功能比jsp:include强大,属于JSTL;
<%@ include %>类似宏,将代码拷贝到源页面。
代码:mainTemplate1.jsp
<c:import url="mainTemplate2.jsp">
    <c:param name="name" value="eric"/>   
 </c:import>
mainTemplate2.jsp
<html>
 passed name is <c:out value="${param.name }"></c:out>
</html>
结果:
c:import sample passed name is eric
 
6, c:url传参数
<a href="<c:urlvalue="mainTemplate2.jsp">
    <c:paramname="lcd">mtj</c:param></c:url>">
    go to mainTemplate2.jsp
 </a>
解析成html
 <a href="mainTemplate2.jsp?lcd=mtj">
    go to mainTemplate2.jsp
 </a> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值