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

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

在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 ();

这样就能自动收集了.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有