Java - Spring MVC - Автоматически заполняет объект от представления формы?

В ASP.NET MVC в контроллере у меня может просто быть объект из моей модели быть параметром в одном из моих методов, и представление формы, которое обрабатывается тем методом, автоматически заполнило бы объект.

например:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(User u){...}

Пользовательский объект будет автоматически заполнен для быть от представления формы.

Существует ли способ иметь, это автоматически происходит с помощью Spring MVC, и раз так как я делаю это?

5
задан skaffman 5 February 2010 в 12:51
поделиться

3 ответа

В Spring MVC (с конфигурацией на основе аннотаций Spring MVC 2.5+) это выглядит точно так же:

@RequestMapping(method = RequestMethod.POST)
public ModelAndView edit(User u) { ... }

Объект Пользователь будет заполнен автоматически. Вы также можете явно указать имя соответствующего атрибута модели с аннотацией @ModelAttribute (по умолчанию имя атрибута - это имя класса аргумента с декапитализированной первой буквой, то есть «пользователь»)

... (@ModelAttrbiute("u") User u) ...
3
ответ дан 15 December 2019 в 01:00
поделиться

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/web/portlet/mvc/SimpleFormController.html#onSubmitAction (java.lang.Object)

Создать Контроллер формы, например PriceIncreaseFormController, и его расширение SimpleFormController

переопределяет метод public ModelAndView onSubmit (команда объекта) существует множество вариантов вышеперечисленного. ищите подходящий метод, который соответствует вашим потребностям. Для простого потока достаточно описанного выше метода.

Внутри метода вы можете привести команду к типу и получить свой класс Command.

commandObj = ((PriceIncrease) command)

commandObj будет иметь параметры, заполненные spring.

в файле springapp-servlet.xml вы должны сообщить Spring о классе команд PriceIncrease следующим образом, а также создать POJO для вашего класса команд.

<bean name="/priceincrease.htm" class="springapp.web.PriceIncreaseFormController">
    <property name="commandClass" value="springapp.service.PriceIncrease"/>

....

1
ответ дан 15 December 2019 в 01:00
поделиться

В сервлетах нет, но весной MVC абсолютно. Взгляните на web framework docs.

Конкретно Раздел 13.11.4 , 9-я точка.

0
ответ дан 15 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: