Могу ли я иметь несколько аннотаций @ModelAttribute в одном методе обработчика Spring

Постановка проблемы: я должен показать данные из двух независимых моделей в JSP.

Скажем, например, есть две модели: аккаунт и студент.

Атрибуты модели ученика можно редактировать, поэтому я могу использовать атрибут модели в форме spring и сопоставить данные из jsp с моим java-объектом.

Атрибуты учетной записи доступны только для чтения, но, как я уже упоминал модель студента в атрибуте модели, в форме jsp, и может быть только один атрибут модели для каждой формы jsp, поэтому я не могу назначить учетную запись атрибуту модели в форме Jsp spring. В этом случае, как данные модели учетной записи будут отображаться в файле Jsp.

Во-вторых, написав: общедоступная строка requestHandlingMethod (@ModelAttribute Student, студент, @ModelAttribute Student, студент)

Действительно ли это или нет, т.е. наличие двух @ModelAttribute в методе обработчика Spring

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
190
1

Ответы 1

Один из подходов - создать новый класс с атрибутами Student и Account. Таким образом, вам понадобится только один атрибут @ModelAttribute в вашем методе обработчика.

Public Class StudentAcctWrapper{
private Student student;
private Account account;

Соответствующие поля будут доступны в вашем представлении через экземпляр StudentAcctWrapper.

Спасибо за ответ @Dev, но я не хочу, чтобы эти две модели были частью другого класса. Есть ли другой подход к этому?

R Ram 04.07.2018 08:43

Другие вопросы по теме