Передача объекта из JSP в Spring-контроллер - PullRequest
2 голосов
/ 12 декабря 2010

Я создал класс с именем Person.Затем я передаю объект этого класса через контроллер Spring на страницу JSP, скажем abc.htm .

Теперь я хочу перевести его из abc.htm вдругой контроллер.Как я могу это сделать?

Также скажите мне, если какой-либо другой объект класса (скажем, Address объект класса) использует этот объект человека в качестве параметра, то как бы я передал этот объект класса Address в контроллер.

Я очень смущен, пожалуйста, помогите мне.

1 Ответ

1 голос
/ 12 декабря 2010

После отображения страницы вы больше не находитесь в «царстве Java», поэтому у вас нет ваших объектов. Вы можете перестроить их на основе параметров, которые отправляются обратно в следующем запросе.

Это называется "связывание". В Spring MVC это делается автоматически (более или менее), если вы используете теги <form:x> . Тогда в вашем контроллере ваши объекты будут доступны как атрибуты метода:

@RequestMapping(..)
public String foo(YourObject object) {..}

Вам может понадобиться аннотация @ModelAttribute, если имя вашего параметра и имя в JSP не совпадают. Документы MVC запись:

Объекты команды или формы для привязки параметров: в качестве свойств или полей компонента с настраиваемым преобразованием типов в зависимости от методов @InitBinder и / или конфигурации HandlerAdapter. См. Свойство webBindingInitializer в AnnotationMethodHandlerAdapter. Такие объекты команд вместе с результатами их проверки будут по умолчанию представлены как атрибуты модели с использованием неквалифицированного имени класса команды в нотации свойств. Например, "orderAddress" для типа "mypackage.OrderAddress". Укажите аннотацию ModelAttribute на уровне параметров для объявления определенного имени атрибута модели.

Я бы посоветовал вам ознакомиться с Образцом приложения PetClinic , чтобы увидеть, как это работает на практике.

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