jstl的c:if 没有else,想要实现if...else...:可以用下面的解决
--------------------------------------------------------------------
结构:
<c:choose>
<c:when test=""> 如果
</c:when>
<c:otherwise> 否则
</c:otherwise>
</c:choose>
代码:
<c:choose>
<c:when test="${sessionScope.USERTYPE == 'inner'}">
<c:set value="${context_root}/igmgr/MEB004.dow" var="action" scope="page"/>
</c:when>
<c:when test="${sessionScope.USERTYPE == 'merc'}">
<c:set value="${context_root}/igmgr/MEB021.dow" var="action" scope="page"/>
</c:when>
<c:otherwise>
<c:set value="${context_root}/igmgr/MEB020.dow" var="action" scope="page"/>
</c:otherwise>
</c:choose>
-------------------------------------------------------------------------
附:详解+代码
在同一个 <c:choose> 中,当所有 <c:when> 的条件都没有成立时,则执行 <c:otherwise> 的本体内容。
语法
<c:otherwise>
本体内容
</c:otherwise>
属性
无
限制
·<c:otherwise> 必须在 <c:choose> 和 </c:choose>之间
·在同一个 <c:choose> 中时,<c:otherwise> 必须为最后一个标签
说明
在同一个 <c:choose> 中,假若所有 <c:when> 的test属性都不为true时,则执行 <c:otherwise> 的本体内容。
范例
笔者举一个典型的 <c:choose>、<c:when>和<c:otherwise>范例:
<c:choose>
<c:when test="${condition1}">
condition1为true
</c:when>
<c:when test="${ condition2}">
condition2为true
</c:when>
<c:otherwise>
condition1和condition2都为false
</c:otherwise>
</c:choose>
范例说明:当condition1为true时,会显示“condition1为true”;当condition1为false且condition2为true时,会显示“condition2为true”,如果两者都为false,则会显示“condition1和condition2都为false”。
注意
假若condition1和condition2两者都为true时,此时只会显示"condition1为true",这是因为在同一个<c:choose>下,当有好几个<c:when>都符合条件时,只能有一个<c:when>成立
分享到:
相关推荐
在JavaServer Pages (JSP) 中,`if-else` 和遍历是两种常见的控制流程语句,它们在网页动态生成和数据处理中扮演着重要角色。`if-else` 用于条件判断,而遍历则常用于处理数组、集合或数据库记录等数据结构。 `if-...
- `<c:if>` 和 `<c:choose>`:条件判断标签,类似于编程语言中的 if-else 语句。 - `<c:forEach>` 和 `<c:forTokens>`:循环标签,处理数组、集合和字符串。 - `<c:redirect>` 和 `<c:forward>`:处理请求重定向...
- **<c:if> 和 <c:choose>**:用于条件判断,类似Java中的if-else语句。 - **<c:forEach>**:用于遍历集合,如数组、列表、Map等。 - **<c:set>**:用于设置变量。 - **<c:out>**:用于安全地输出数据,防止XSS攻击...
- `<c:choose>`、`<c:when>`和`<c:otherwise>`:它们一起使用,可以实现类似于if-else语句的功能。`<c:choose>`包含多个`<c:when>`标签,每个`<c:when>`测试一个条件,如果满足则执行相应代码;如果没有匹配的条件...
3. `<c:choose>`, `<c:when>`, `<c:otherwise>`:这组标签可以实现多条件分支,类似于Java的`if...else if...else`结构: ```jsp <c:set var="str1" value="1234"></c:set> <c:choose> <c:when test="${str1 == '...
2. `<c:if>` 和 `<c:choose>`:条件判断,相当于Java的if-else语句。 3. `<c:set>`:设置变量,可以在页面范围内存储值。 4. `<c:remove>`:移除变量,释放内存。 5. `<c:url>` 和 `<c:param>`:构建URL并添加参数,...
1. **Core**:核心标签库,提供了基本的控制结构,如条件语句(if/else)、循环(foreach)以及重定向和转发等。 2. **Format**:格式化标签库,用于日期、时间、数字的格式化,以及国际化的支持。 3. **Function*...
2. **c:if**和**c:choose**:用于条件判断,类似于Java中的if...else语句。 3. **c:set**:设置变量。 4. **c:out**:安全地输出值,防止XSS攻击。 5. **c:url**和**c:param**:创建URL并添加参数。 6. **c:import**...
- **choose 标签**:提供类似于 Java 中的 if/elseif/else 结构。 ```jsp <c:set var="score" value="${param.score}" /> <c:choose> <c:when test="${score > 100 || score 错误的分数:${score} </c:when> ...
2. **<c:choose>**、**<c:when>**和**<c:otherwise>**:实现类似于Java中的if...else结构,根据条件执行不同的代码块。 3. **<c:forEach>**:遍历集合或数组,对每个元素执行代码块。 4. **<c:forTokens>**:根据...
1. **c:choose, c:when, c:otherwise**:提供类似Java中的if-else语句,用于条件判断。 2. **c:forEach**:用于遍历集合,如数组、列表、Map等。 3. **c:if**:根据指定条件执行标签内的内容。 4. **c:set**:设置...
1. **Core(核心标签库)**:提供了许多与页面控制流程相关的标签,如条件语句(if、else)、迭代(forEach)、重定向(redirect)、URL操作(url)等。这些标签可以替代部分JSP动作标签,使代码更简洁、易读。 2. ...
- `<c:redirect>`, `<c:import>`:处理页面跳转和资源导入。 2. **函数标签库(Functions Tags)**:提供了额外的字符串处理和集合操作函数。 3. **XML标签库(XML Tags)**:用于处理XML文档,如解析、转换和操作...
例如,使用`<c:choose>`、`<c:when>`和`<c:otherwise>`可以构建复杂的条件语句,而无需在JSP页面中嵌入`if...else if...else`结构。 JSTL的配置通常在web.xml文件中完成,通过`taglib`指令引入JSTL库,并指定相应的...
这些标签用于根据不同的条件执行不同的代码块,类似于编程语言中的if-else语句。 示例: ```html <c:if test="${user.isAdmin}"> Admin panel </c:if> <c:choose> <c:when test="${user.isAdmin}"> Admin panel...
- `<sql:transaction>`:处理SQL事务。 **JSTL Functions库详解:** - `fn:length()`:计算数组或集合的长度。 - `fn:substring()`:截取字符串的一部分。 - `fn:indexOf()`:查找字符串中的子串位置。 - `fn:...
1. **Core标签库(c)**:提供了基本的控制结构,如条件语句(if/else)、循环(foreach)、包含(include)等,类似于编程语言中的控制流。 2. **Format/Internationalization标签库(fmt)**:用于日期、时间、...
- `<c:choose>/<c:when>/<c:otherwise>`:实现类似于 Java 中的 if-else-if 结构。 - 示例: ```jsp <c:choose> <c:when test="${row.v_money 学生</c:when> <c:when test="${row.v_money >= 10000 && row.v_...
- **choose**:这是一个条件判断标签,类似于Java中的`if`/`else if`/`else`结构。它包含多个`when`子标签和一个可选的`otherwise`子标签。当`when`标签的`test`属性为真时,执行其内容;如果所有的`when`标签都不...
异常处理在java中原理:<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>异常处理有Method调用者的调用者或者Method调用者来处理,<BR>9、 异常处理适用分别开发的组件系统<BR>10、 因为一些程序员使用不支持异常处理...