<x:when>动作用于表示一个<x:choose>动作中的互斥选项之一,仅当该动作的测试表达式计算为true,且是第一个测试为true的<x:when>动作时,才会计算其动作体。<x:when>动作的语法格式如下:
<x:when select="testXPathExpression">
JSP elements
</x:when>
<x:when>动作只有一个select属性。
【功能说明】select属性用于指定测试条件表达式,以确定是否执行动作体中的内容。select属性不可以接受动态值。
【实例演示】
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<x:parse var="txl" scope="application">
<c:import url="txl.xml" charEncoding="GB2312" />
</x:parse>
<table border=0 width="100%">
<tr bgcolor="lightgreen">
<th>姓名</th>
<th>性别</th>
<th>生日</th>
<th>移动电话</th>
<th>固定电话</th>
<th>Email</th>
</tr>
<x:forEach select="$txl/linkmans/linkman">
<x:choose>
<x:when select="sex[. = '女' ]">
<tr bgcolor="lightblue">
</x:when>
<x:otherwise>
<tr>
</x:otherwise>
</x:choose>
<td align=center><x:out select="name" /></td>
<td align=center><x:out select="sex" /></td>
<td align=center><x:out select="birthday" /></td>
<td align=right><x:out select="mobile" /></td>
<td align=right><x:out select="phone" /></td>
<td align=right><x:out select="email" /></td>
</tr>
</x:forEach>
</table>
示例代码的执行效果如图9.8所示。

图9.8 使用<x:when>动作的select属性
相关高级JSP教程的学习,我将在以后陆续推出,敬请关注:http://www.itgao.com