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 回答