本文涉及到的知識:Struts2超鏈接的使用、Struts遍歷List、${pageContext.request.contextPath} 不能出現在Struts2標簽中。 ...
本文涉及到的知識:Struts2超鏈接的使用、Struts遍歷List、${pageContext.request.contextPath} 不能出現在Struts2標簽中。
Struts2中的<s:url>標簽可以生成一個URL 地址,而且可以內嵌<s:param>標簽,為URL指定請求參數。
具體屬性有:
action:可選屬性,指定生成的 URL 地址的 Action,如果 action 屬性未指定,則需要使用 value 作為 URL。
value:可選屬性,指定生成的 URL 地址,若 value 屬性未指定,則需要指定 action 屬性。
method:可選屬性,指定 Action 的方法,當用 action 屬性生成 URL 時,使用該屬性指定鏈接到 Action 的特定方法。
namespace:可選屬性,指定名字空間,當用 action 生成 URL 時,使用該屬性指定 Action 的 namespace。
具體例子:
<s:iterator value="suList" id="column"> <tr> <td><s:property value="sid" /></td> <td><s:property value="sname" /></td> <td><s:property value="ssex" /></td> <td><s:property value="sdept" /></td> <!-- 生成URL --> <s:url id="url" action="/student!deleteStudent.action"> <s:param name="sid"> <s:property value="sid" /> </s:param> </s:url> <!-- 應用生成的URL --> <td><s:a href="%{url}">刪除</s:a> </tr> </s:iterator>
看下效果:
最後想要說的是,${pageContext.request.contextPath} 不能出現在action中,實際上${pageContext.request.contextPath}不能出現在任何的Structs2標簽中。
在Struts2標簽中添加了${pageContext.request.contextPath}後,ecplise報錯!