`
ymq267
  • 浏览: 131533 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

JSTL <c:choose> if标签

 
阅读更多
今天上午为了项目统一要把页面中的struts标签改为jstl标签。

简要记录一下修改过程:用到标签的地方主要是遍历和条件判断。其他地方能用el表达式代替的尽量用el表达式。


struts遍历:<s:iterator value="userCourseBeans" var="userCourse">

                      <td align="center"><s:property value="#c.courseID.formID.formName" /></td>


                      </s:iterator>

jstl遍历和struts差不多:<c:forEach var="userCourse" items="${userCourseBeans}"> </c:forEach>





struts条件判断:<s:if test="#userCourse.courseID.bookDinner==true">
                                 <s:if test="#userCourse.bookDinner==true">
                                    结果一
                                </s:if>
                                 <s:else>
                                     结果二
                                </s:else>
                             </s:if>
                             <s:else>
                                结果三
                            </s:else>

但是用jstl就感觉麻烦一些:<c:choose>
                                 <c:when test="${userCourse.courseID.bookDinner}">
                                     <c:choose>
                                         <c:when test="${userCourse.bookDinner}">
                                             结果一
                                        </c:when>
                                         <c:otherwise>
                                            结果二
                                        </c:otherwise>
                                     </c:choose>
                                 </c:when>
                                 <c:otherwise>
                                     结果三
                                </c:otherwise>
                             </c:choose>

也就是说jstl必须用<c:wher>和<c:otherwise>才能实现if else操作。用<c:if>只能实现if操作。

并且if else出现嵌套时,如上例每个相当于每个<c:otherwise>外面都要有<c:choose>.其实<c:when>和<c:otherwise>相当于java中的switch中的case default,而<c:choose>相当于switch;
分享到:
评论

相关推荐

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    2. `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `&lt;c:otherwise&gt;`:类似于Java的switch语句,可以进行多条件分支判断。 **循环标记**: 1. `&lt;c:forEach&gt;`:用于遍历集合、数组或迭代对象,实现循环操作。 2. `&lt;c:forTokens&gt;`:对字符...

    c标签-if-foreach-jar

    结合**jstl.jar**包,这个标签库提供了许多其他实用的标签,如`&lt;c:set&gt;`用于设置变量,`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`用于多条件判断等,极大地简化了JSP页面的逻辑处理,使得页面更加清晰,符合MVC...

    jstl标签库.txt

    其中`test`属性包含一个EL表达式,当该表达式的值为`true`时,才会执行`&lt;c:if&gt;`标签内的代码。 #### 6. `&lt;c:choose&gt;`、`&lt;c:when&gt;` 和 `&lt;c:otherwise&gt;` - 多条件选择 这一组标签用于实现更复杂的多条件分支逻辑,...

    jstl标签库

    - **流程控制标签**:`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`、`&lt;c:otherwise&gt;`,用于条件判断和多分支选择。 - **迭代标签**:`&lt;c:forEach&gt;`、`&lt;c:forTokens&gt;`,实现循环遍历。 - **URL操作标签**:`&lt;c:import&gt;`、`...

    jstl标签使用文档,jstl标签使用帮助文档

    - `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `&lt;c:otherwise&gt;`:用于创建多分支结构。 - `&lt;c:forLoop&gt;`:用于执行循环。 - `&lt;c:forEach&gt;`:适用于迭代集合数据,如数组、列表、Map等。 - `&lt;c:redirect&gt;` 和 `&lt;c:forward&gt;`:处理...

    JSTL标签用法.doc

    JSTL还提供了一组条件标签,包括 `&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;` 和 `&lt;c:otherwise&gt;`,用于实现条件逻辑。 - `&lt;c:if&gt;` 类似于Java中的 `if` 语句,用于根据条件决定是否执行特定代码块。示例: ```jsp &lt;c:...

    JSTL核心标签库的一些应用

    以上只是JSTL核心标签库的一部分功能,实际应用中还有更多标签,如循环标签`&lt;c:forEach&gt;`、迭代标签`&lt;c:forTokens&gt;`等。这些标签在处理数据、控制流程等方面提供了极大的便利,使得JSP页面更加简洁、易读,也更符合...

    java中jstl(C标签)案例

    3. `&lt;c:if&gt;`和`&lt;c:choose&gt;`:条件判断。`&lt;c:if&gt;`用于简单的条件检查,而`&lt;c:choose&gt;`则用于复杂的多条件选择。例如: ```jsp &lt;c:if test="${age &gt;= 18}" &gt; 成年人 &lt;/c:if&gt; &lt;c:choose&gt; &lt;c:when test="${age &lt; ...

    JSTL(jsp标准标签库)

    异常信息:&lt;c:out value="${error.message}"&gt;&lt;/c:out&gt; ``` 这里捕获了一个除零错误,并将其信息存储在变量`error`中。 #### 条件控制语句:实现逻辑判断与分支 1. **`&lt;c:if&gt;`**:基于条件的分支。例如,`&lt;c:if ...

    Java Jstl C标签例子

    4. `&lt;c:if&gt;`和`&lt;c:choose&gt;`:条件判断。例如: ```jsp &lt;c:if test="${user.isAdmin}"&gt; &lt;p&gt;欢迎管理员!&lt;/p&gt; &lt;/c:if&gt; &lt;c:choose&gt; &lt;c:when test="${user.age &gt; 18}"&gt; &lt;p&gt;您已成年。&lt;/p&gt; &lt;/c:when&gt; &lt;c:otherwise&gt;...

    jstl入门标签手册

    3. `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `&lt;c:otherwise&gt;`:这组标签可以实现多条件分支,类似于Java的`if...else if...else`结构: ```jsp &lt;c:set var="str1" value="1234"&gt;&lt;/c:set&gt; &lt;c:choose&gt; &lt;c:when test="${str1 == '...

    jstl c标签jar包

    C标签库是JSTL的一部分,它包含了类似于Java语言的循环和条件语句的标签,如`&lt;c:forEach&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`等。这些标签使得JSP开发者能够更清晰地组织代码,而不是直接在页面上写Java脚本。例如,`&lt;c:...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    4. **XML标签**:处理XML文档,如`&lt;c:out&gt;`显示XML内容,`&lt;x:parse&gt;`解析XML字符串。 5. **SQL标签**:执行数据库查询,如`&lt;sql:update&gt;`、`&lt;sql:query&gt;`和`&lt;sql:resultSet&gt;`。 使用JSTL的好处在于,它将Java代码...

    JSTL标签配置流程

    - `&lt;c:if&gt;`和`&lt;c:choose&gt;`:条件判断标签,实现类似Java的if和switch语句。 - `&lt;c:set&gt;`:设置变量。 - `&lt;c:out&gt;`:输出值,可以防止XSS攻击。 - `&lt;c:remove&gt;`:删除变量。 - `&lt;c:url&gt;`和`&lt;c:param&gt;`:处理URL和参数...

    JSTL标签库-tomcat10-简化JSP中java代码

    其中,Core库是最常用的部分,包含了与页面控制相关的标签,如`&lt;c:if&gt;`、`&lt;c:for&gt;`和`&lt;c:choose&gt;`等。 1. **JSTL Core库**:这是最基础的库,提供了大量用于控制流程和处理数据的标签。例如: - `&lt;c:if&gt;`:条件...

    JSTL标签库

    主要包括`&lt;c:out&gt;`、`&lt;c:set&gt;`、`&lt;c:remove&gt;`、`&lt;c:catch&gt;`、`&lt;c:if&gt;`、`&lt;c:choose&gt;`、`&lt;c:when&gt;`、`&lt;c:otherwise&gt;`、`&lt;c:forEach&gt;`、`&lt;c:forTokens&gt;`、`&lt;c:import&gt;`、`&lt;c:url&gt;`和`&lt;c:redirect&gt;`等标签。这些标签...

    JSTL的c标签的用法.doc

    4. `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `&lt;c:otherwise&gt;`:这些标签一起使用,提供了一个类似Java `switch`语句的功能。可以根据不同的条件执行不同的代码块: ```jsp &lt;c:choose&gt; &lt;c:when test="${count &lt;= 0}"&gt; &lt;font ...

    jstl标签库 手册

    - **&lt;c:if&gt;** 和 **&lt;c:choose&gt;**:实现条件判断,`&lt;c:if&gt;`用于简单的条件测试,`&lt;c:choose&gt;`配合`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`实现多分支选择。 - **&lt;c:forEach&gt;** 和 **&lt;c:forTokens&gt;**:进行循环操作,`&lt;c:...

    JSTL标签-讲解及实例

    - `&lt;c:choose&gt;`:开始标签。 - `&lt;c:when&gt;`:条件分支。 - `&lt;c:otherwise&gt;`:默认分支。 示例: ```jsp &lt;c:choose&gt; &lt;c:when test="${condition1}"&gt; &lt;!-- 条件1成立时执行的内容 --&gt; &lt;/c:when&gt; &lt;c:when ...

Global site tag (gtag.js) - Google Analytics