日期:2014-05-16  浏览次数:20282 次

struts2标签与jstl标签的混合使用
1.以前一直使用jstl标签,后来也开始使用struts2的一些标签,毕竟struts2的有些标签使用起来还是比较方便
项目中常常会出现struts2标签和jstl标签混和用的情况,比如在自定义标签或者在循环标签等
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>	 



1 楼 lvhongfen 2011-11-18  
善于总结好样儿的!
2 楼 RonQi 2012-02-16  
很有用 ,不知道楼主在哪里找到的资料
3 楼 wysaijun1314 2012-02-21  
RonQi 写道
很有用 ,不知道楼主在哪里找到的资料

自己总结的,可能总结的还不够完整吧。
4 楼 sunzeshan 2012-06-09  
好东西,转走了。谢谢