JSTL(c标签)与Struts2(s标签)标签
来源:互联网 发布:外贸网络整合营销 编辑:程序博客网 时间:2024/06/10 19:51
http://blog.csdn.net/running_ants/article/details/52813323
jstl标签库项目导入standard.jar ,jstl.jar包在jsp页面加入如下句:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
可使用EL表达式
导入struts2 的s标签库,在struts2 项目中
<%@ taglib prefix="s" uri="/struts-tags"%>
转载:http://blog.csdn.net/chabale/article/details/9406437
JSTL(c标签)与Struts2(s标签)标签的常用功能对比
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>
混合使用:
struts2标签与jstl标签的混合使用
一些标签,毕竟struts2的有些标签使用起来还是比较方便
项目中常常会出现struts2标签和jstl标签混和用的情况,比如在自定义标签或者在循环标签等
1.在jstl中使用struts2
通过struts2标签取jstl标签的变量时,如果有设置scope,可以从scope中取值
如果没有就需要用#attr来取值
2.从jstl标签中获取值
3.在struts2标签中使用jstl
4.从struts2标签中取值
struts2 标签库:http://www.cnblogs.com/taoweiji/p/3259783.html
1.在jstl中使用struts2
- <c:forEach var="ee" items="${requestScope.serviceList}" >
- jstl:<c:out value="${ee.id}"></c:out>
- el:${ee.id}
- struts2: <s:property value="#attr.ee.id"/>
- </c:forEach>
通过struts2标签取jstl标签的变量时,如果有设置scope,可以从scope中取值
如果没有就需要用#attr来取值
2.从jstl标签中获取值
- <c:set var="ctime" value="${el.createtime}" scope="request"/>
- <c:set var="ctime2" value="${el.createtime}" />
- <s:property value="#request.ctime"/>
- <s:property value="#attr.ctime2"/>
3.在struts2标签中使用jstl
- <s:iterator value="#request.serviceList" id="bs">
- struts2:<s:property value="#bs.keyid"/>
- el:${bs.keyid}
- jstl:<c:out value="${bs.keyid}"></c:out>
- </s:iterator>
4.从struts2标签中取值
- <!-- 数字类型 -->
- <s:set name="pp" value="11"></s:set>
- struts2:<s:property value="#pp"/>
- el:${pp}
- jstl:<c:out value="${pp}"></c:out>
- <!-- 字符串类型 -->
- <s:set name="pp2" value="'abc'" scope="request"></s:set>
- struts2:<s:property value="#request.pp2"/>
- el:${pp2}
- jstl:<c:out value="${pp2}"></c:out>
struts2 标签库:http://www.cnblogs.com/taoweiji/p/3259783.html
阅读全文
0 0
- JSTL(c标签)与Struts2(s标签)标签
- JSTL(c标签)与Struts2(s标签)标签
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- JSTL(c标签)与Struts2(s标签)标签的常用功能对比
- C标签(JSTL标签)
- Struts2标签的<s:set>标签与JSTL的<c:set>标签
- JSTL c标签和Struts2 s标签常用功能对比
- struts2标签与jstl标签混合使用
- jstl c标签(2)
- jstl c标签(Ⅱ)
- JSTL使用方法(C标签)
- jstl 标签改成struts2标签
- struts2标签,OGNL,JSTL'S EL
- jstl c:url 标签(类似 struts标签的 s:url)
- Android实现从底部弹出页面以及显示与隐藏显示部分View
- js 公平抽奖
- Vue.js学习之vue-router vuex axios webpack
- Android 项目如何获取MD5和SHA1
- 编辑距离的计算和过程打印
- JSTL(c标签)与Struts2(s标签)标签
- XML
- Hibernate(三)get和load区别
- VS2008安装部署应用程序安装包制作过程
- 面向对象三大特性-多态
- Bootstrap3.0学习第五轮(表格)
- Android打造万能的对话框Dialog(一)
- Android 多线程之AsyncTask详解
- Android中JSONObject jb = new JSONObject(str)出现异常org.json.JSONException: Value of type java.lang.Str