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>
5. 条件标签 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>
<s:else>
<font color="green"/>
</s:else>
6. 迭代标签
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. -->