Spring 3.1表单和列表绑定
我一直没有找到一个解决方案,但在搜索后,搜索 使用Spring3.1 我有一个表单,我希望用户能够添加多个联系人点poc。在我的JSP中,我有一个用于添加poc的提交按钮。它转到一个Spring控制器,从域对象获取当前的poc列表,该列表首先为空,将poc添加到列表中,然后在返回到同一视图之前将域对象放回模型中。然后,用户将最终提交整个页面,该页面将转到控制器,并将整个对象保存到持久化 我尝试了各种尝试,并得出了不同的结果,从只能添加一个poc并覆盖现有poc,到无法在表单上显示输入的poc。我将把我目前拥有的代码 JSP: 弹簧控制器:Spring 3.1表单和列表绑定,spring,jsp,spring-mvc,Spring,Jsp,Spring Mvc,我一直没有找到一个解决方案,但在搜索后,搜索 使用Spring3.1 我有一个表单,我希望用户能够添加多个联系人点poc。在我的JSP中,我有一个用于添加poc的提交按钮。它转到一个Spring控制器,从域对象获取当前的poc列表,该列表首先为空,将poc添加到列表中,然后在返回到同一视图之前将域对象放回模型中。然后,用户将最终提交整个页面,该页面将转到控制器,并将整个对象保存到持久化 我尝试了各种尝试,并得出了不同的结果,从只能添加一个poc并覆盖现有poc,到无法在表单上显示输入的poc。我
@RequestMapping(value="/request", method=RequestMethod.POST, param="addPoc")
public Sring addPoc(@RequestParam String newPoc, MyRequest req, Model model) {
PointOfContact poc = new PointOfContact();
poc.setName(newPoc);
List<PointOfContact> pocs = req.getPointOfContacts();
pocs.add(poc);
req.setPointOfContacts(pocs);
model.addAttribute("request", req);
return "requestForm";
}
域对象
@Entity
public class MyRequest {
...
@OneToMany(Cascade=CascadeType.ALL)
private List<PointOfContact> pointOfContacts = new ArrayList<PointOfContact>();
.....
}
@Entity
public class PointOfContact {
...
private String name;
....
}
有人有什么解决办法吗?我看过很多关于AutopopulationGlist的帖子,这是一个解决方案吗?如果是这样,我将如何在本例中使用它。是的,您应该使用AutoPopulationGlist。这将需要更改MyRequest实体 是的,您应该使用AutoPopulatingList。这将需要更改MyRequest实体 控制器的完整代码是什么?您是否使用@SessionAttributes?控制器的完整代码是什么?您是否使用@SessionAttributes?最好不要简单地链接到另一个页面,而是将您的答案放在这里。示例1现在已经不存在了,因此答案是无用的。最好不要简单地链接到另一个页面,而是将答案放在这里。示例1现在已经不存在了,因此答案是无用的。
@Entity
public class MyRequest {
...
@OneToMany(Cascade=CascadeType.ALL)
private List<PointOfContact> pointOfContacts = new ArrayList<PointOfContact>();
.....
}
@Entity
public class PointOfContact {
...
private String name;
....
}