JSTL Core标签库
Core标签库
Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。在JSP页面使用Core标签,要使用taglig指令,指定引用的标签库,如下:
一般用途的标签有<c:out>、<c:set>、<c:remove>、<c:cath>
1.<c:out>
用于计算一个表达式并将结果输出。类似于JSP 中<%=%>表达式,或者是EL中$ ${el-expression}。
2.<c:set>
用于设置范围变量的值或者javabean对象的属性。
看个实际例子:
这样就相当于设置了session。
3.<c:remove>
相对<c:set>其作用是移除范围变量。比如
4.<c:catch>
用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。
我们将有可能抛出异常的代码放置到开始标签:<c:catch>和结束标签:</c:catch>之间。如果其中代码出现异常,异常对象将被捕获,保存在var声明的变量中,该变量总是有page范围。如果没有发生异常,而var所标识的范围变量将被移除。
如果没有指定var属性,异常只是简单的被捕获,异常信息并不会被保存。
Eg:
<%
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语句功能。
This is your first visit .
</c:if>
若为true,会打印中间部分。也可以声明var,方便下一步判断。
<c:out value=”${result}” />
2.<c:choose>
<c:choose>和<c:when>、<c:otherwise>一起实现互斥条件执行,类似于java中的if else.
<c:choose>一般作为<c:when>、<c:otherwise>的父标签。
eg:
<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>
//遍历记录集
<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>
也可以设定固定次数。
${i}
</c:forEach>
如果再加个step=“2”那么每次增长为2。