zoukankan      html  css  js  c++  java
  • JSTL与Struts2标签的使用对比

    1. 条件标签
    JSTL

     <c:if test="${user.password == 'hello'}">
         
    <c:choose>
             
    <c:when test="${user.age <= 18}">
                 
    <font color="blue" />
             
    </c:when>
             
    <c:when test="${user.age <= 30 && user.age > 18}">
                 
    <font color="red" />
             
    </c:when>
             
    <c:otherwise>
                 
    <font color="green" />
             
    </c:otherwise>
         
    </c:choose>
     
    </c:if>

    STRUTS2:

     <s:if test="#user.age <= 18">
         
    <font color="blue" />
     
    </s:if>
     
    <s:elseif test="#user.age <= 30 && user.age > 18">
         
    <font color="red" />
     
    </s:elseif>
         
    <font color="green" />
     
    </s:else>
    2. 迭代标签


        JSTL:
     <c:forEach var="user" items="${users}">
         
    <c:out value="${user.userName}" />
     
    </c:forEach>
     
    <!-- 迭代固定次数 -->
     
    <c:forEach var="i" begin="1" end="10" step="3">
         
    <c:out value="${i}" />
     
    </c:forEach>
     
    <!-- 这种循环相当于for(int i=1; i<10; i++), 其中step是指迭代的步长,默认为1. -->

    struts2:

     <s:iterator value="#users" status="stuts">                
         
    <s:if test="#stuts.odd == true">   <!-- 判断是否为奇数行 -->
             
    <s:property value="userName" />
         
    </s:if>
         
    <s:else>
             
    <s:property value="passWord" />
    </s:else>
     
    </s:iterator>

    3. URL相关标签
        JSTL:

     <!-- 绝对路径 -->
     
    <c:import url="http://127.0.0.1:8080/hello/hello.jsp" />
     
    <!-- 相对路径 -->
     
    <c:import url="hello.jsp" />
     
    <!-- Encode -->
     
    <a href="<c:url value='hello.jsp'><c:param name='userName' value='cyanbomb' /></c:url>"></a>
     
    <!-- 传递参数到指定的URL -->
     
    <c:import url="hello.jsp" charEncoding="gb2312" >
         
    <c:param name="userName" value="cyanbomb" />
     
    </c:import>
     
    <!-- URL重定向 -->
     
    <c:redirect url="${myurl}" />
     
    <!-- 构造URL -->
     
    <c:url value="myurl" var="hello.jsp" scope="session">
         
    <c:param name="userName" value="cyanbomb" />
     
    </c:url>

    Struts2:

     <a href='<s:url value="/hello.jsp" />'>Hello</a><br />
     
    <s:url id="url" value="/hello.jsp">
         
    <s:param name="name">cyanbomb</s:param>
     
    </s:url>
     
    <s:a href="%{url}">Hello</s:a>

    解除的疑问,list遍历问题

    像这样一个list,里面有3条记录,每条记录包含两个对象,我把结果集(lstRooms)request到了页面,想遍历显示RrmRooms里的id,和RrmRoomType里的name.
    我用JSTL实现如下:

     <table>
         
    <c:forEach var="rm" items="${lstRooms}">
             
    <tr>
                 
    <td>${rm[0].id}</td>
                 
    <td>${rm[1].name}</td>
             
    <tr>
         
    </c:forEach>
     
    </table>

    STRUTS2实现如下:

    <table>
         
    <s:iterator value="#lstRooms" status="stat">
             
    <tr>
                 
    <td><s:property value="#lstRooms[#stat.index][0].id" /></td>
                 
    <td><s:property value="#lstRooms[#stat.index][1].name" /></td>
             
    <tr>
         
    </s:iterator>
    </table>




     

  • 相关阅读:
    vue+vuex构建单页应用
    vue如何做分页?
    cookie和session的原理机制
    经常遇到js的面试题
    CSS浏览器兼容性问题解决方法总结
    前端性能优化----yahoo前端性能团队总结的35条黄金定律
    bom对象
    正则表达式
    JavaScript
    常见浏览器bug以及解决方法
  • 原文地址:https://www.cnblogs.com/jifeng/p/2121832.html
Copyright © 2011-2022 走看看