Обновите поле на странице jsp и сохраните его в Spring MVC - PullRequest
0 голосов
/ 04 сентября 2011

Я новичок в 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, просто обновите модель текущей страницы. Какой лучший способ сделать это?

1 Ответ

1 голос
/ 04 сентября 2011

Поскольку это ajax-запрос, вы должны обновить страницу с помощью ajax (как кажется, jQuery).Вы можете просто вернуть true / false, чтобы указать, что деактивация прошла успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...