如何使用java spring框架将多个行从Web表单插入到数据库中

我是Java Spring Framework的新手,我的新项目有一个要求。

使用Spring框架,我有一个带set和get方法的POJO类。 我也有中级java服务和Web类。 我使用

标签从jsp映射到bean类,并能够使用单个对象执行所有操作。

但我的问题是如何为多个对象(记录)做同样的工作。

简单来说:如何使用jsp页面中的输入数据一次将7行(记录)插入数据库表中。 如何从我的jsp页面接受输入参数并创建7个对应7行的对象,然后在单击提交按钮时插入它们?

请为此提供一些指导。

我会通过让另一个POJO作为一个容器来实现这一目标,其中包含你的POJO列表。

这看起来像这样:

 public class PojoForm { private List pojos; public List getPojos() { return pojos; } public void setPojos(List pojos) { this.pojos = pojos; } } 

然后在控制器中,使用此容器而不是实际的pojo作为模型属性。

 @ModelAttribute("pojoForm") public PojoForm populatePojos() { // Don't forget to initialize the pojos list or else it won't work PojoForm pojoForm = new PojoForm(); List pojos = new ArrayList(); for(int i=0; i<2; i++) { pojos.add(new Pojo()); } pojoForm.setPojos(pojos); return pojoForm; } @RequestMapping(method=RequestMethod.POST) public String saveForm(@ModelAttribute("pojoForm") PojoForm pojoForm) { for(Pojo pojo : pojoForm.getPojos()) { service.save(pojo); } return "theview.jsp"; } 

那么视图看起来应该是这样的:

           

a,b和c是Pojo类的属性。

您也可以直接在列表上循环,如下所示: