2012-09-20 90 views
1

樣品形式:Spring Form標記:表單標記如何將值綁定到DTO?

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

樣品控制器

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

我想知道Spring如何做自動注入到指定的LoginDTO。 Spring是否訪問setter方法?

+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使用數據綁定的setter方法,但是你可以通過配置DataBinder當調用DataBinder.initDirectFieldAccess()其配置爲使用直接字段訪問而是:在這個問題

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

謝謝!對於像我這樣的初學者來說,Spring API非常令人難以置信。 – mpmp

相關問題