08-03
27
现实多条记录,一次保存
作者:Java伴侣 日期:2008-03-27
常常会在程序中看见这样的情况,页面中会有很多遍历出的记录都是放在文本框中,如
ID1 NAME1 PASSWD1
ID2 NAME2 PASSWD2
ID3 NAME3 PASSWD3
...
这样的记录如果每条后面都放着一个更新按钮,这样对于Struts取得Form确实方便不少,但未免让可用性受到局限。如果做出点击一次,全部更新,这个我考虑了很久,也试了很多方法,如果非要用Struts来实现这样的功能未免牵强。因为Form是在Struts的RequestProcessor中创建并封装起来的,别人不好对它进行干涉或操作。
这样原本方便的Form变成了阻碍,在这里我考虑用servlet中常用的形式来做这个功能,如:
但怎么用Struts来实现呢。。苦恼
ID1 NAME1 PASSWD1
ID2 NAME2 PASSWD2
ID3 NAME3 PASSWD3
...
这样的记录如果每条后面都放着一个更新按钮,这样对于Struts取得Form确实方便不少,但未免让可用性受到局限。如果做出点击一次,全部更新,这个我考虑了很久,也试了很多方法,如果非要用Struts来实现这样的功能未免牵强。因为Form是在Struts的RequestProcessor中创建并封装起来的,别人不好对它进行干涉或操作。
这样原本方便的Form变成了阻碍,在这里我考虑用servlet中常用的形式来做这个功能,如:
复制内容到剪贴板 程序代码
String [] ids = request.getParameterValues("id");
String [] mcs= request.getParameterValues("mc");
String [] dhs= request.getParameterValues("dh");
.....
if(ids==null)
throw new Exception("没有传入任何需要修改的记录");
for(int i=0; i service.update(ids[i], mcs[i], dhs[i]); //逐条个修改
}
String [] mcs= request.getParameterValues("mc");
String [] dhs= request.getParameterValues("dh");
.....
if(ids==null)
throw new Exception("没有传入任何需要修改的记录");
for(int i=0; i service.update(ids[i], mcs[i], dhs[i]); //逐条个修改
}
但怎么用Struts来实现呢。。苦恼
评论: 0 | 引用: 0 | 查看次数: 566
发表评论