単純な ajax リフレッシュ機能の場合、この方法で行います
最初に、このようなリストを含む div
<div id="results">
<s:include page="ListUser.jsp">
</div>
ListUser.jsp には、更新して表示するユーザーのリストが含まれます
<table>
<tr>
<th>UserName</th>
<th>Action</th>
</tr>
<s:iterator value="list">
<tr>
<td><s:property value="name" /></td>
<td><a class=""linkDelete" href="<s:url action='deleteUser'/>">delete</a></td>
</tr>
</s:iterator>
</table>
単純な jquery ajax リクエストは次のようになります
$("a.linkDelete").click(function(e) {
//this line will prevent the default form submission on click of link
e.preventDefault();
//fire the ajax request on this object referring to the clicked anchor link element
$(this).ajax({
url: "DeleteAction.action",
cache: false
}).done(function( html ) {
$("#results").append(html);
});
});
DeleteAction.action は struts.xml で、次のようになります。
<action name="DeleteAction" method="deleteUser">
<result>/WEB-INF/jsp/ListUser.jsp</result>
</action>
結果ページに移動するための結果リンクを持つ他のアクションもある場合、struts.xml の別のエントリが続きます。
<action name="ResultAction" method="goToResultPage">
<result>/WEB-INF/jsp/Result.jsp</result>
</action>
Result.jsp には、結果 ID を持つ div が含まれます。
乾杯 :)