Я новичок в Spring MVC и ищу хороший способ сделать следующее:
У меня есть страница jsp с таблицей пользователей. В моем контроллере я добавляю пользователей через следующий код:
@ModelAttribute("users")
public List<UserAccount> getAllRegisteredUsers() {
return adminService.getRegisteredUsers();
}
В таблице у меня также есть кнопка с надписью «Отключить пользователя». Когда кто-то нажимает на эту кнопку, я хочу вызвать метод setEnabled (false) этого конкретного пользователя и, наконец, сохранить его, прежде чем снова отобразить ту же страницу. Прямо сейчас ссылка «Отключить пользователя» в JSP выглядит следующим образом:
<a onClick=$.post("/admin/deactivate/${user.id}")>Deactivate</a>
Мой контроллер получает запрос здесь:
@RequestMapping(value = "/admin/deactivate/{id}", method = RequestMethod.POST)
public String deactivateUser(@ModelAttribute("users") ArrayList<UserAccount> users, @PathVariable("id") Long userId, ModelMap map) {
for (UserAccount userAccount : users) {
if (userAccount.getId() == userId) {
adminService.deactivateUser(userAccount);
}
}
return "admin";
}
Это прекрасно работает, за исключением того, что страница не обновляется с новой моделью. Я должен нажать F5, и тогда я вижу, что пользователь был отключен. Я действительно не хочу ничего возвращать в моем методе deactivateUser, просто обновите модель текущей страницы. Какой лучший способ сделать это?