JSTL Core标签库

Core标签库

 

Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。在JSP页面使用Core标签,要使用taglig指令,指定引用的标签库,如下:

<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>

 

一般用途的标签有<c:out><c:set><c:remove><c:cath>

1.<c:out>

用于计算一个表达式并将结果输出。类似于JSP 中<%=%>表达式,或者是EL中$ ${el-expression}。

2.<c:set>

用于设置范围变量的值或者javabean对象的属性。

看个实际例子:

<c:set var=”username” value=”lisi” scope=”session”/>

这样就相当于设置了session。

 3.<c:remove>

相对<c:set>其作用是移除范围变量。比如

<c:remove var=”nusername” scope=”session”/>

4.<c:catch>

 用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。

我们将有可能抛出异常的代码放置到开始标签:<c:catch>和结束标签:</c:catch>之间。如果其中代码出现异常,异常对象将被捕获,保存在var声明的变量中,该变量总是有page范围。如果没有发生异常,而var所标识的范围变量将被移除。

如果没有指定var属性,异常只是简单的被捕获,异常信息并不会被保存。

Eg:

 

<c:catch var=”exception”>
<%
       int i 
= 5;
       
int j = 0;
       
int k=i/j;
%>
</c:catch>
<c:out value=”${exception}” /><br>
<c:out value=”${exception.massage}”/>

后一句相当于:exception.getMessage()

 

条件标签包括<c:if><c:choose><c:when><c:otherwise>

1.<c:if> 
用于实现java中的if语句功能。

<c:if test=”${user.visitCount==1}”>

       
This is your first visit .

</c:if
>

若为true,会打印中间部分。也可以声明var,方便下一步判断。

 

<c:if test=”${param.name==’admin’}” value=”result”/>
<c:out value=”${result}” />

2.<c:choose>
<c:choose>和<c:when>、<c:otherwise>一起实现互斥条件执行,类似于java中的if else.
<c:choose>一般作为<c:when>、<c:otherwise>的父标签。

eg:

<c:choose>
       <c:when test="${row.v_money<10000}">
              初学下海
       </c:when>
       <c:when test="${row.v_money>=10000&&row.v_money<20000}">

            身手小试
        </c:when>
       <c:otherwise>
              商业能手
       </c:otherwise>
</c:choose>

 

迭代标签 迭代标签有<c:forEach></c:forEach>
/
/遍历记录集

<c:forEach items="${finalResult.rows}" var="row">        
<tr class="<%=tdClass[(rank+1)%2]%>">
<td align="center"><span><%=rank%> </span></td>
<td align="center"><span ><c:out value="${row.player_name}"/></span> </td>
<td align="center"><span ><c:out value="${row.money}"/></span></td>
</tr>
<%rank++;%>      
</c:forEach> 

 

也可以设定固定次数。

 

<c:forEach var =”i” begin=”100 “ end= “110”>

       
${i}

</c:forEach
>

 

如果再加个step=“2”那么每次增长为2。

posted @ 2012-12-07 10:18  七郎  Views(2408)  Comments(0Edit  收藏  举报