我有类似的东西
@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作为模型属性,还可以接收其他类。我是否需要创建一个新的POJO,其中包含两个类的数据,或者还有其他方法。
编辑
我读了有关DTO的文章。但这不是POJO的重复。我们不能混合使用2-3个POJO。
最佳答案
您可以创建一个“ form” 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" />