2012-09-20 2 views
1
форма

Пример:Spring Form Tag: Как тег формы связывает значения с вашим DTO?

<form:form commandName="loginDTO" action="/login"> 
<form:input path="username"/> 
<form:input path="password"/> 
</form:form> 

Sample Контроллер

@RequestMapping(value = "/login") 
public String loginUser(LoginDTO loginDTO, BindingResult bindingResult, Model uiModel){ 
    //some code 
} 

Я хочу знать, как Spring делает автоматическую инъекцию указанного LoginDTO. Имеет ли Spring доступ к методам сеттера?

+0

Читайте о '@ ModelAttribute' [в этом вопросе ] (http://stackoverflow.com/questions/3423262/what-is-modelattribute-in-spring-mvc) и [в этом сообщении] (http://bearprogrammer.wordpress.com/2012/04/11/what -is-и-как к потребительной modelattribute /). – Xaerxess

ответ

2

По умолчанию Spring использует методы установщиков для связывания данных, но вы можете настроить его, чтобы использовать прямой доступ к полям, а не путем вызова DataBinder.initDirectFieldAccess() при настройке DataBinder:

@InitBinder 
public void configureBinder(WebDataBinder binder) { 
    binder.initDirectFieldAccess(); 
} 
+0

Спасибо! Весенний API смехотворно подавляющим для начинающих, таких как я. – mpmp