本人初次寫技術部落格,請多關照。
現在初次研究jstl與struts2標籤的一些傳遞與取值!
1. 引入struts標籤庫<%@ taglib uri="/struts-tags" prefix="s" %>
引入jstl標籤庫<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>.
2. 後台action中將資料存放到request中:
//查詢
public String query(){
List<Member> members=memberDao.query(member.getUsername());
ServletActionContext.getRequest().setAttribute("members", members);
return "success";
}
3. struts.xml中的配置:
<package name="admin" extends="struts-default" namespace="/admin">
<action name="query" class="adminAction" method="query">
<result name="success">/admin/query.jsp</result>
</action>
4. 前台jsp頁面中取值:
strust2標籤取值:
<body>
<div id="content">
<div id="deleteMember">
<s:actionerror/>
<s:form action="query.action" namespace="/admin">
<s:textfield label="使用者名稱" name="member.username" />
<s:submit value="查詢" />
</s:form>
</div>
<s:if test="#request.members!=null">
<table>
<tr>
<td>使用者名稱</td>
<td>更新</td>
<td>刪除</td>
</tr>
<s:iterator value="#request.members" status="status" id="member">
<tr>
<td><s:property value="#member.username" /></td>
<td><a href="/admin/update.jsp">更新</a></td>
<td>
<s:url action="delete" id="delete">
<s:param name="member.id" value="#member.id"></s:param>
</s:url>
<a href="${delete}">刪除</a>
</td>
</tr>
</s:iterator>
</table>
</s:if>
</div>
</body>
採用jstl標籤取值:
<body>
<div id="content">
<div id="deleteMember">
<s:form action="query.action" namespace="/admin">
<s:textfield label="使用者名稱" name="member.username" />
<s:submit value="查詢" />
</s:form>
</div>
<c:if test="${requestScope.members!=null}">
<table>
<tr>
<td>使用者名稱</td>
<td>更新</td>
<td>刪除</td>
</tr>
<c:foreach items="${requestScope.members}" var="member">
<tr>
<td>${member.username}</td>
<td><a href="/admin/update.jsp">更新</a></td>
<td>
<c:url value="delete" var="delete">
<c:param name="member.id" value="${member.id}"></s:param>
</c:url>
<a href="${delete}">刪除</a>
</td>
</tr>
</c:foreach>
</table>
</c:if>
</div>
</body>
struts2標籤拿取requst的值與jstl的值差異不大,param,session和application有待研究.