Страницы

Поиск по вопросам

четверг, 30 мая 2019 г.

Как передать свой объект из jsp в контроллер

У меня есть User, в нем есть ссылка на Role, и например на странице editUser мне надо собрать объект User в контроллер spring MVC(в параметры контроллера добавляю User user), такие объекты как name(String)email(String), age(int) собираются в User нормально, а чтобы добавить туда Role мне надо редактируемого User'a достать из БД извлечь его роль и засетить в новый объект User и только потом делать update в hibernate.
Так вот вопрос можно ли как то spring'ом сразу User собрать вместе с Role из jsp страницы?
Пробовал указать поле в верстке
input type="hidden" name="role" value"${user.role}"
но тогда вообще контроллер не находит и редиректит на страницу 400.
P.S User добавляю из get-контроллера в jsp, тоесть переменные User можно достать в jsp


Ответ

Как по мне, на уровне клиента это невозможно.
Как вариант, тебе нужно сперва запросом отправить id нужного объекта, а потом используя id получить его.
Я бы сделал бы это вот так
html
... ... ... ...
Внутри метода*
.........@ModelAttribute("user") User user, @RequestParam("id") Integer id) { .... Role role = (Role) session.createQuery("from Role role where role.id=:id").setParameter("id", id).list().get(0); user.setRole(role); .... }

Комментариев нет:

Отправить комментарий