<c:choose> 操作的语法
<c:choose>
<c:when test="expression">
body content
</c:when>
<c:when test="expression">
body content
</c:when>
...
<c:otherwise>
body content
</c:otherwise>
</c:choose>
注意:每个要测试的条件都由相应的 <c:when> 标记来表示,至少要有一个 <c:when> 标记。只会处理第一个其 test 值为 true 的 <c:when> 标记体内的内容。如果没有一个 <c:when> 测试返回 true ,那么会处理 <c:otherwise> 标记的主体内容。注:尽管如此, <c:otherwise> 标记却是可选的; <c:choose> 标记至多可有一个嵌套的 <c:otherwise> 标记.
<----------------------------------------------------------------------->
<c:choose>
<c:when test="${opreateType == 'add'}">
<c:set var="url" value="${ctx}/temp/add.do"></c:set>
<c:set var="z" value="5"></c:set>
</c:when>
<c:when test="${opreateType == 'add'}">
<c:set var="url" value="${ctx}/temp/update.do"></c:set>
</c:when>
</c:choose>
上述代码会调用2次getOpreateType(). 但是奇怪的是:即使第一次<c:when>的test为true, 仍然会调用一次getOpreateType()(即第二个<c:when>的test, 这里我设置2个测试条件一样, 经过调试设置断点显示的运行此时). 不过, 即使第二次<c:when>的test也为true,但是却不执行第二个<c:when></c:when>之间的代码.
这是什么机制来的, 源码就不想看了. 还是用 : ? 运算符好了.
分享到:
相关推荐
2. `<c:choose>`, `<c:when>`, `<c:otherwise>`:类似于Java的switch语句,可以进行多条件分支判断。 **循环标记**: 1. `<c:forEach>`:用于遍历集合、数组或迭代对象,实现循环操作。 2. `<c:forTokens>`:对字符...
结合**jstl.jar**包,这个标签库提供了许多其他实用的标签,如`<c:set>`用于设置变量,`<c:choose>`、`<c:when>`和`<c:otherwise>`用于多条件判断等,极大地简化了JSP页面的逻辑处理,使得页面更加清晰,符合MVC...
`<c:choose>`, `<c:when>`, `<c:otherwise>`:多条件判断 - **语法**: ```jsp <c:choose> <c:when test="${condition1}"> <!-- 当 condition1 为真时执行的内容 --> </c:when> <c:when test="${condition2}...
- **流程控制标签**:`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`,用于条件判断和多分支选择。 - **迭代标签**:`<c:forEach>`、`<c:forTokens>`,实现循环遍历。 - **URL操作标签**:`<c:import>`、`...
C标签库提供了一些类似于Java编程中的控制结构,例如`<c:if>`, `<c:forEach>`, `<c:choose>`, `<c:set>`等,这些标签能够帮助开发者更方便地在JSP页面上进行逻辑处理,而无需过多地编写脚本let或Java表达式。...
- **`<c:choose>, <c:when>, <c:otherwise>`**: 提供多条件选择。例如: ```jsp <c:choose> <c:when test="${gender eq 'male'}"> 男性 </c:when> <c:when test="${gender eq 'female'}"> 女性 </c:when> ...
除了这些,JSTL还提供了其他标签,如`<c:set>`用于设置变量,`<c:if>`和`<c:choose>`进行条件判断,`<c:forEach>`进行循环遍历,等等。使用JSTL可以使JSP代码更加整洁,更易于理解和维护,是现代JSP开发中的重要工具...
<c:choose> <c:when test="${n2 lt 100}"> <h1 style="color:red">${n2}</h1> </c:when> <c:otherwise> <h1 style="color:blue">${n2}</h1> </c:otherwise> </c:choose> ``` ### 2. JSTL 国际化标签库(`<%@...
- `<c:choose>`, `<c:when>`, `<c:otherwise>`:这组标签用于实现多分支选择,类似于Java的`switch`语句。例如: ```jsp <c:choose> <c:when test="${condition1}"> <!-- 满足condition1时的代码 --> </c:when...
stl的配置方法:<br>1、将jstl.jar和standard.jar拷贝到web-inf/lib下即可(如只使用EL表达式,无需引用这两个包)<br><br>2、在jsp页面头部引入taglib方法如下:<br> <%@ taglib prefix="c" uri=...
C标签库是JSTL的一部分,它包含了类似于Java语言的循环和条件语句的标签,如`<c:forEach>`、`<c:if>`、`<c:choose>`等。这些标签使得JSP开发者能够更清晰地组织代码,而不是直接在页面上写Java脚本。例如,`<c:...
<c:choose> <c:when test="${pageIndex eq pageNumber}"> <option value="${pageIndex}" selected="selected">${pageIndex}</option> </c:when> <c:otherwise> <option value="${pageIndex}">${pageIndex...
<c:choose> <c:when test="${page.pageNow - 1 > 0}"> <a href="findNewsPage.service?pageNow=${page.pageNow - 1}">上一页</a> </c:when> <c:when test="${page.pageNow - 1 <= 0}"> <a href=...
count 的值是:<c:out value="${count}"/></font> </body> </html> ``` 通过使用这些条件标签,开发者可以避免在JSP页面中直接使用脚本let,从而使页面更专注于表现层,降低代码的耦合度,提高可维护性和可读性...
JSTL还提供了一组条件标签,包括 `<c:if>`、`<c:choose>`、`<c:when>` 和 `<c:otherwise>`,用于实现条件逻辑。 - `<c:if>` 类似于Java中的 `if` 语句,用于根据条件决定是否执行特定代码块。示例: ```jsp <c:...
内容...</c:if>` 用于简单的条件判断,而 `<c:choose><c:when test="条件">...内容...</c:when>...</c:choose>` 可以实现多条件分支。 4. `<c:forEach>`:用于迭代集合或者数组。例如,遍历一个ArrayList可以写为:...
`<c:choose>`、`<c:when>`、`<c:otherwise>`** - **用途**:组合使用实现多路选择。 - **语法示例**: ``` <c:choose> <c:when test="${condition1}"> condition1为真 </c:when> <c:when test="${condition...
条件标签包括 `<c:if>`、`<c:choose>`、`<c:when>` 和 `<c:otherwise>`。 - `<c:if>` 类似于Java中的 `if` 语句。 ```jsp <c:if test="${user.visitCount == 1}"> This is your first visit. </c:if> ``` - `<c:...
- 每个`<c:choose>`中至少应有一个`<c:when>`,但`<c:otherwise>`是可选的。 - 所有`<c:when>`标签的条件是互斥的,只有一个会被执行。 - 如果所有`<c:when>`条件都不满足,`<c:otherwise>`将被执行。 JSTL的核心...
- **条件标签**:如`<c:if>`和`<c:choose>`,它们提供了基于条件的逻辑判断。例如: ```jsp <c:if test="${pageScope.signalStrength < 5}"> <c:set var="signalFailure" value="true" scope="page" /> </c:if>...