Удалить пользователя из списка с помощью ajax и обновить список только с помощью Struts 2
Мой список похож на:-
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 ответ
Решение
Для простой функциональности обновления 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 is 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 будет содержать div с результатами id.
ура:)