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>
<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>
<font color="blue" />
</s:if>
<s:elseif test="#user.age <= 30 && user.age > 18">
<font color="red" />
</s:elseif>
<font color="green" />
</s:else>
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. -->
<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>
<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>
<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>
<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>
<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>
<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>