我有类似的东西

@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" />

09-13 12:21