JSTL与struts2

项目中常常会出现struts2标签和jstl标签混和用的情况,比如在自定义标签或者在循环标签等
1.在jstl中使用struts2
Java代码 
<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> 

<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标签中获取值
Java代码 
<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"/> 

<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
Java代码 
<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> 

<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标签中取值
Java代码 
<!-- 数字类型 -->  
<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>   
转正自wysaijun1314处,只为与大家分享,以及以后查找方便

你可能感兴趣的:(JSTL和struts2标签)