2013-03-26 49 views
0

我在我的代碼類似Spring MVC的形式提交使用的ModelAttribute

@RequestMapping("/showRegister") 
public String showUserRegistrationForm(ModelMap modelMap) { 
    modelMap.addAttribute("user", new UserBean()); 
    return "Register"; 
} 

@RequestMapping("/RegisterUser") 
public String registerUser(@ModelAttribute("user") UserBean userBean, 
     BindingResult result, ModelMap modelMap) { 
    System.out.println(userBean.getPassword()); 
    return "Register"; 
} 

上述工作完美。現在假設我想將表單中的模態數據保存到多個表中,每個表都有自己的POJO類。那麼代碼將如何被接受,不僅僅是UserBean作爲modelattribute,還有其他類。我將不得不創建一個包含兩個類的數據的新POJO,或者有其他解決方法。

編輯

我讀到DTO。但是,它不是重複POJO的。我們不能使用2-3個POJO的組合。

+0

看看Hibernate和其他ORM框架。或者看看JDBC(以及Spring數據之後),瞭解如何將對象保存到數據庫。 – 2013-03-26 19:36:57

回答

1

您可以創建一個「表單」bean,並將其作爲成員添加到您的UserBean和任何其他pojos。我其實更喜歡這樣做,因爲它使複雜的驗證更容易和更自我包含。

public class MyFormBean { 

private UserBean userBean; 
private MyOtherBean otherBean; 

// Add getters and setters as needed 

} 

那麼你的表格需要引用正確的路徑深入到你的對象。 如果你有這樣的事情:

<form:input path="name" /> 

您將其更改爲

<form:input path="userBean.name" /> 
+0

我應該怎麼做。這裏有什麼變化要做。 – 2013-03-26 19:33:20

+0

所以,會做4我:)謝謝.... – 2013-03-26 19:43:54

+0

你可以評論DTO。使用它而不是form bean的任何優勢。 – 2013-03-26 19:47:02

相關問題