仅使用struts 2使用ajax和刷新列表从列表中删除用户

时间:2013-03-17 13:51:41

标签: struts2 struts2-jquery

我的清单如下: -

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调用操作并刷新列表

1 个答案:

答案 0 :(得分: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。

欢呼:)