如何从jsp页面传多条数据到action中,并插入数据库?
点击增加录入条目,新增一行输入项目。填写好好传到action执行计算,再存到数据库中。例如作业次数代码<inputname='count"+rowID+"'id='cou...
点击增加录入条目,新增一行输入项目。填写好好传到action执行计算,再存到数据库中。例如作业次数代码
<input name='count" + rowID + "' id='count" + rowID + "' type='text' />
动态添加的input, 后台action中有count这个属性, 主要是想知道怎样在通过点击录入,后台能取到多个条记录。求大神指点一二。 展开
<input name='count" + rowID + "' id='count" + rowID + "' type='text' />
动态添加的input, 后台action中有count这个属性, 主要是想知道怎样在通过点击录入,后台能取到多个条记录。求大神指点一二。 展开
2个回答
展开全部
把同一类的标签用同一个name标示,后台取到的是数组,就是你说的多个值。
String[] counts = request.getParameterValues("count");
你每个都用rowid做唯一区分的话后台就只能一个个取。
String[] counts = request.getParameterValues("count");
你每个都用rowid做唯一区分的话后台就只能一个个取。
追问
亲,这个我也有想到。那要怎么和其他属性组装成一个对象插入到数据库啊?我提问的只是count这一个属性。 辛苦您了。我用的是mybatis,request在action中无法使用
我在页面录入的记录(属性)不是数以同一个po类的。实际是要后台进行相应的计算再存到数据库中的。谢谢谢~。。。可能您的一句话我就可以节省好几天的时间
追答
mybatis只是数据库层的,在这之前你总有个servlet接受request参数吧,可能是个controller,或者就是servlet。总之,你拿到request对象后,你就能取得页面参数。例如,页面中所有作业项目的标签name为pro,作业次数的标签name为count,作业单位标签的name为dept。后台取数据方法是:
String[] pro = request.getParameterValues("pro");//作业项目
String[] counts = request.getParameterValues("count");//作业次数
String[] depts= request.getParameterValues("dept");//作业单位
这样你就取得了需要封装java对象的属性值了。通过循环封装你的对象。假设你的对象类叫Work。
for(int i=0;i<pro.length();i++){
Work work = new Work();//创建对象,你自己定义的类。
work.setPro(pro[i]);//设置项目值
work.setCount(counts[i]);//设置次数
work.setDept(depts[i]);//设置单位
//save(work); 这里是调用mybatis保存对象的方法就可以了
}
我这写的已经很详细了,希望你能明白,如果还是看不懂,可能你需要补充下java web的知识了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询