4

私のリストは次のようなものです:-

UserName   action
=================
abcd       delete
1234       delete

私のjspコードは次のようなものです:-

<table>
    <tr>
        <th>UserName</th>
        <th>Action</th>
    </tr>
    <s:iterator value="list">
        <tr>
            <td><s:property value="name" /></td>
            <td><a href="<s:url action='deleteUser'/>">delete</a></td>
        </tr>
    </s:iterator>
</table>

ajax を使用してリストからユーザーを削除し、リストを更新するアクションを呼び出す方法

4

1 に答える 1

6

単純な 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 が含まれます。

乾杯 :)

于 2013-03-21T13:41:45.363 に答える