您的位置:首页 > 编程语言 > Java开发

JSTL与Struts2标签的使用对比

2011-07-30 11:54 357 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: