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

I am new to Java Spring Framework and I have a requirement in my new project.

Using the Spring framework, I have a POJO class with set and get methods.

I also have intermediate java service and web classes. i have used the

tags to map from jsp to bean class and able to perform all the action with a single object.

But my problem is how can i do the same work for more then one object(record).

In simple word:

How do I insert 7 rows(records) into the database table at one time, using input data from my jsp page. How do I accept input parameters from my jsp page and create 7 objects that correspond to 7 rows and then insert them on the click of submit button?

Please provide some guidance for this.

解决方案

I would achieve that by having another POJO serving as a container with a list of your POJOs inside.

This would look like this :

public class PojoForm {

private List pojos;

public List getPojos() {

return pojos;

}

public void setPojos(List pojos) {

this.pojos = pojos;

}

}

Then in the controller, use this container instead of the actual pojo as a model attribute.

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

}

Then the view should look something like this :

a, b and c being the properties of the Pojo class.

You can also directly loop on the list like this :

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值