引入STRUTS2標簽庫和JSTL標簽庫
Java代碼
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1、if 標簽
Java代碼
<s:if test="#parameters['siteId']!=null">
</s:if>
因為JSTL沒有else標簽 所以比較好的方法是
Java代碼
<c:if var="current" test="${page.pageNo == i}">
${i}
</c:if>
<c:if test="${not current}">
</c:if>
action里有boolean屬性
Java代碼
<s:if test="!emptySite"></s:if>
Java代碼
<c:if test="${emptySite}"></c:if>
2、select 標簽
Java代碼
<s:select list="pageList" listKey="key" id="swpTplCata" listValue="value" name="pageId" />
pageList 對應action里的pageList屬性 arrayList
listKey="key" listValue="value" 為固定寫法
name="pageId" 為下拉框的默認值 pageId也是action里的屬性 要提供get方法
3、radio 標簽
Java代碼
<s:if test="checkedRoleIds.size() == 0">
<s:radio name="checkedRoleIds" list="allRoleList" listKey="id" listValue="desc" />
</s:if>
<s:else>
<s:radio name="checkedRoleIds" list="allRoleList" listKey="id" listValue="desc" value="checkedRoleIds[0]" />
</s:else>
value="checkedRoleIds[0]" 默認選中的值
Java代碼
private List<Long> checkedRoleIds; //用戶角色
public List<Long> getCheckedRoleIds() {
return checkedRoleIds;
}
public void setCheckedRoleIds(List<Long> checkedRoleIds) {
this.checkedRoleIds = checkedRoleIds;
}
4、form 標簽
Java代碼
<s:form method="post" action="%{#request.contextPath}/account/user!save"
theme="simple" enctype="multipart/form-data" id="register_form"
name="form">
5、iterator 標簽
Java代碼
<s:iterator value="page.result">
</s:iterator>
6、jstl循環
Java代碼
<c:forEach var="i" begin="1" end="${page.totalPages}" step="1">
${i}
</c:forEach>
7、jstl循環map
Java代碼
<c:forEach items="${model}" var="model">
${model.key}
${model.value}
<br />
</c:forEach>
自定義標簽
http://dingbuoyi.iteye.com/admin/blogs/818950
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="Ettr.ee.id"/>
</c:forEach>
通過struts2標簽取jstl標簽的變量時,如果有設置scope,可以從scope中取值如果沒有就需要用Ettr來取值
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="Ettr.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>
--選擇和循環<c:choose>
<c:when test="${empty sessionScope.indexList}">
沒有你搜索的歌曲..<br />
</c:when>
<c:otherwise>
<c:forEachitems="${sessionScope.indexList}" var="list"
varStatus="vs">
<a href="#"> ${list.tone_name}</a> -- ${list.singer}
<br />
</c:forEach>
</c:otherwise>
</c:choose>
<s:
if test="#session.indexList==null">
沒有你搜索的歌曲..<br />
</s:
if>
<s:
else>
<s:iterator value="#session.indexList" var="list">
<a href="#"><s:property value="#list.tone_name" /></a>--
<s:property value="#list.singer" />
<br/>
</s:iterator>
</s:
else>
</div>