服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

struts框架中实现多行表单提交

在struts框架中常常会遇到多行表单的情况, 如何有效的利用struts框架提供的自动收集机制来处理呢? 这里提供一个简便的方法.
可以用list来解决这个问题. list中的每一个元素都是一个有效的对象.
例如:
class ... testbean ...{
private list test = new arraylist();
...
...
public lisg gettest(){....}
}
其中test list中的每一个元素又是一个subtestbean
class ... subtestbean{
private int id;
private string name;
get...(){}
set...(...){}
}
这样我们在定义多个行的时候便可以如此处理(假设testbean已经放在request中):




这样信息便会自动显示, 但是现在还不能够自动收集, 如何才能正确回收呢?
要求在test list 上做一点手脚, 继承一个arraylist, 覆盖它的get(i)方法
例如:
class testarraylist extends arraylist {

/*
* (non-javadoc)
*
* @see java.util.list#get(int)
*/
public object get(int index) {
while (index >= size()) {
add(new subtestbean());
}
return super.get(index);
}
}

然后我们把testbean中的 private list test = new arraylist();
替换为 private list test = new testarraylist ();
这样就能自动收集了.

扫描关注微信公众号