posts - 3, comments - 1, trackbacks - 0, articles - 5

struts之JSTL-core库学习笔记

Posted on 2009-04-07 18:59 郑舒力 阅读(288) 评论(0)  编辑  收藏 所属分类: struts 学习笔记

JSTL标签库的配置
需要在web程序的lib目录下粘贴jstl.jar和standard.jar(如果只使用el表达式,不用拷贝这两个jar)
注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行。
c开头的核心库,fmt开头的为格式化库,fn开头的为函数库,sql开头的为操作SQL库,x开头的操纵XML

核心库
<c:out/>输出标签
examples:
<c:out value="${hello}"/>
如果需要再scope里取值,在value内必须是el表达式或jsp脚本,否则将把引号内容按字符串输出
<c:out value="abc"/>将输出abc。
如果只是以上业务的话,推荐使用el表达式取值,更加简洁。
<c:out value="${abc}" default="123"/>
如果abc在scope内并不存在的话,可以加入default属性规定默认值.
<c:out value="${cz}" escapeXml="false"/>
如果想把字符串按HTML格式输出,需加入escapeXml="false"。
此处推荐使用el表达式,el自动按HTML格式输出。

<c:set><c:remove>设值,移除标签
examples:
<c:set value="123" var="temp"/>
temp:${temp}
<c:remove var="temp"/>
temp:${temp}
var指定变量名。

<c:if><c:if/>判断标签
examples:
<c:if test="${v1 lt v2}" var="v">
 v1小于v2
 ${v }
</c:if>
var标签指定变量并接收test内判断的值

<c:choose>条件分支标签
examples:
<c:choose>
 <c:when test="${v1<v2}">
  v1小于v2
 </c:when>   
 <c:otherwise>
  v1大于v2
 </c:otherwise>
</c:choose>
使用choose标签有两点需要注意
1、<c:choose>标签不能单独出现
2、<c:otherwise>标签不能出现在<c:when>标签之前,</c:when>可以有多对

<c:forEach>循环标签
examples:
<c:forEach items="${userList}" var="user">
 <tr>
   <td>${user.name}</td>
  <td>${user.age}</td>
  <td>${user.group.name}</td>
 </tr>
</c:forEach>
items属性指定集合数组,var属性指定循环取出的每一项的变量名,变量var是存放在scope范围内的
所以需要使用el表达式取出。

<c:forEach>循环标签各项属性说明
varStatus属性:获取循环中var的状态。
<c:forEach items="${userList}" var="user" varStatus="vs">
vs.count取出当前是循环的第几次,vs.step获取循环的步长.
<c:forEach items="${userList}" var="user" begin="2" end="8" step=2>
循环从集合的第二项开始,循环到第八项,循环步长为2

循环取出map
example:
<c:forEach items="${map}" var="m">
${m.key }=${m.value }<br>
</c:forEach>
${m.key }输出键,${m.value }输出值

<c:forTokens>支持分隔符的循环标签
example:
<c:forTokens items="${tok}" delims="," var="v">
 ${v }<br>
</c:forTokens>
其他属性与<c:forEach>标签功能相同,需要注意的是delims=",",它指定了以什么做为分隔符进行分割。
request内设置"1,2,3,4,5",此循环的输出效果如下:
1
2
3
4
5

<c:import>导入标签
example:
<c:import url="http://127.0.0.1/struts_taglib"></c:import>
此标签作用相当于jsp:include标签的作用,当前页面包含url里的页面。

<c:redirect>重定向标签
example:
<c:redirect url="http://127.0.0.1/struts_taglib"></c:redirect>
直接重定向至url指定地址


 


只有注册用户登录后才能发表评论。


网站导航: