JSTL与Struts2标签的使用对比==>
2016-05-21 18:05
573 查看
JSTL与Struts2标签的使用对比
标签: JSTLStruts2对比2013-11-30 08:42 1178人阅读 评论(0) 收藏 举报
分类:
JAVA(263)
Struts(16)
1. 条件标签
JSTL:
1 <c:if test="${user.password == 'hello'}">
2 <c:choose>
3 <c:when test="${user.age <= 18}">
4 <font color="blue" />
5 </c:when>
6 <c:when test="${user.age <= 30 && user.age > 18}">
7 <font color="red" />
8 </c:when>
9 <c:otherwise>
10 <font color="green" />
11 </c:otherwise>
12 </c:choose>
13 </c:if>
Struts2:
1 <s:if test="#user.age <= 18">
2 <font color="blue" />
3 </s:if>
4 <s:elseif test="#user.age <= 30 && user.age > 18">
5 <font color="red" />
6 </s:elseif>
7 <font color="green" />
8 </s:else>
2. 迭代标签
JSTL:
1 <c:forEach var="user" items="${users}">
2 <c:out value="${user.userName}" />
3 </c:forEach>
4 <!-- 迭代固定次数 -->
5 <c:forEach var="i" begin="1" end="10" step="3">
6 <c:out value="${i}" />
7 </c:forEach>
8 <!-- 这种循环相当于for(int i=1; i<10; i++), 其中step是指迭代的步长,默认为1.-->
Struts2:
1 <s:iterator value="#users" status="stuts">
2 <s:if test="#stuts.odd == true"> <!-- 判断是否为奇数行 -->
3 <s:property value="userName" />
4 </s:if>
5 <s:else>
6 <s:property value="passWord" />
7 </s:else>
8 </s:iterator>
3. URL相关标签
JSTL:
1 <!-- 绝对路径 -->
2 <c:import url="http://127.0.0.1:8080/hello/hello.jsp" />
3 <!-- 相对路径 -->
4 <c:import url="hello.jsp" />
5 <!-- Encode -->
6 <a href="<c:url value='hello.jsp'><c:param name='userName' value='cyanbomb' /></c:url>"></a>
7 <!-- 传递参数到指定的URL -->
8 <c:import url="hello.jsp" charEncoding="gb2312" >
9 <c:param name="userName" value="cyanbomb" />
10 </c:import>
11 <!-- URL重定向 -->
12 <c:redirect url="${myurl}" />
13 <!-- 构造URL -->
14 <c:url value="myurl" var="hello.jsp" scope="session">
15 <c:param name="userName" value="cyanbomb" />
16 </c:url>
Struts2:
1 <a href='<s:url value="/hello.jsp" />'>Hello</a><br />
2 <s:url id="url" value="/hello.jsp">
3 <s:param name="name">cyanbomb</s:param>
4 </s:url>
5 <s:a href="%{url}">Hello</s:a>
解除的疑问,list遍历问题
像这样一个list,里面有3条记录,每条记录包含两个对象,我把结果集(lstRooms)request到了页面,想遍历显示RrmRooms里的id,和RrmRoomType里的name.
我用JSTL实现如下:
1 <table>
2 <c:forEach var="rm" items="${lstRooms}">
3 <tr>
4 <td>${rm[0].id}</td>
5 <td>${rm[1].name}</td>
6 <tr>
7 </c:forEach>
8 </table>
STRUTS2实现如下:
1
<table>
2
<s:iterator value="#lstRooms" status="stat">
3
<tr>
4
<td><s:property value="#lstRooms[#stat.index][0].id" /></td>
5
<td><s:property value="#lstRooms[#stat.index][1].name" /></td>
6
<tr>
7
</s:iterator>
8
</table>
相关文章推荐
- Spring Mvc那点事---(9)Spring Mvc @Component注解
- 在Struts 2通过Spring实现控制反转(IoC)
- JAVA正则表达式 Pattern和Matcher
- JAVA正则表达式:Pattern类与Matcher类详解
- spring错误提示:nested exception is org.xml.sax.SAXParseException; lineNumber: 10; columnNum原因
- Java学习(3)Java语言的环境搭建
- Spring Mvc那点事---(8)Spring Mvc @Resource注解
- Java 多线程
- 全方位剖析Set
- struts2入门-第一个例子==》第一个struts2实例——HelloWorld==》Struts2.0搭建和简单实例==>写一个Steuts2的经典入门案例,做了一个登陆程序作为入门例子
- Java学习基础(2)
- java中Math的一些用法
- retrofit2、RxJava简单使用总结
- Java学习基础(1)
- 处理 eclipse 导入报错 Invalid project description,问题
- Spring-bean作用域scope详解
- 单例模式—java实现
- JDK源码学习(6)-ConcurrentHashMap代码学习
- 清除Eclipse和Myeclipse中的工作空间目录
- 给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)