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>