程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> struts框架中實現多行表單提交

struts框架中實現多行表單提交

編輯:關於JAVA

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

這樣就能自動收集了.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved