WEB开发网      濠靛倻鏅悵顖涚附閽樺鐎诲ù婊庡亾缁辨帗鎷呴悩鍨暠濞戞挴鍋撳ù鐘烘閸ㄥ孩绂嶉锝喰﹂柟瀛樺灣濠婃垿鎯冮崟顏嗩伇濞寸姾妫勬慨鈺呭礉濞戝磭骞㈤悹鍥у槻閸ㄥ孩绂嶉敓锟� ---闁挎洩鎷�
开发学院WEB开发Jsp struts框架中实现多行表单提交 阅读

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

 2008-01-05 08:11:00 来源:WEB开发网 闁靛棴鎷�闁告垵绻愰惃顒傗偓娑欍仦缂嶏拷濠⒀呭仜閵囧洨鈧稒銇炵紞锟�闁靛棴鎷�  闁稿繗娅曢弫鐐哄级閵婏缚鑸瀣仧濞堟垵顕ラ鐓庤Е
核心提示:在struts框架中经常会碰到多行表单的情况, 如何有效的利用struts框架提供的自动收集机制来处理呢? 这里提供一个简便的方法.可以用List来解决这个问题. List中的每一个元素都是一个有效的对象.例如:Class ... TestBean ...{PRivate List test = new ArrayLi

在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 ();
这样就能自动收集了.


Tags:struts 框架 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接