Страницы

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

воскресенье, 8 марта 2020 г.

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

#java #hibernate #jsp #spring_mvc #jstl


У меня есть 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
    


Ответы

Ответ 1



Как по мне, на уровне клиента это невозможно. Как вариант, тебе нужно сперва запросом отправить 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); .... }

Ответ 2



input type="hidden" name="role" value"${user.role} Может вместо этого надо: input type="hidden" name="role" value="${user.role}"

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

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