Jstl简介

来源:互联网 发布:php uploadify实例 编辑:程序博客网 时间:2024/04/29 22:36
前端Web在处理后台Java传来的数据时经常使用Velocity和Jstl两个标签,以下是对Velocity的简单介绍。
一:选择标签<c:choose when otherwise> 
<c:set var="score">85</c:set>  
<c:choose>  
<c:when test="${score>=90}">  
你的成绩为优秀!  
</c:when>  
<c:when test="${score>=70&&score<90}">  
您的成绩为良好!  
</c:when>  
<c:otherwise>  
对不起,您没有通过考试!  
</c:otherwise>  
</c:choose>  
二:判断标签
<c:if test="${not empty item.publish_time}">  
内容  
</c:if>  
<c:if test="${item['domain']!=null}">  
内容  
</c:if>  
三:迭代标签(JSTL所支持的迭代标签有两个,分别是<c:forEach>和<c:forTokens>):
<c:forEach var="instance" items="${requestScope.list}" varStatus="status">
    <c:choose>
        <c:when test="${status.index%2==0}" >
             内容1
         </c:when>
        <c:when test="${status.index%2==1}" >
             内容2
       </c:when>
     </c:choose>
            
</c:forEach>
items:要进行迭代的集合。
var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量,类型为String。
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
status.current 当前这次迭代的(集合中的)项 
status.index 索引,从0开始,相当于for循环里的i 
status.count 计数器,从1开始 
status.first 判断是否是第一条 
status.last  判断是否是最后一条 
status.begin 获得开始时的记录 
status.end   获得结束时的记录 
status.step  获得步长
四:其它
<c:remove>必须要有var属性,即要被移除的属性名称,scope则可有可无,如:
<c:remove var="username" scope="session"/>
将username变量从session范围移除。若我们不设定scope,则<c:remove>会移除所有范围名称为username
的数据。

<c:catch>:主要用来处理产生错误的异常情况,并且将信息保存起来。把可能发生错误的部分放在<c:catch>和</c:catch>之间。如果真的发生错误,可将错误信息保存至变量varName标量中,并且只有<c:catch>和</c:catch>之间的程序会被中止忽略,但整个网页不会被中止。如:
<c:catch var="message">
//可能发生错误的部分
</catch>

0 0