2009年4月4日 星期六

利用html+JSP傳陣列

傳陣列的問題困擾了我好幾天,主要是因為checkbox傳的名稱都只是單一的變數,沒有辦法寫成陣列,後來發現了request.getParameterValues語法,不過我以為是將a[1].a[2]...這樣的名稱用a來做為抓資料的媒介,想不到是光用a一個名稱就可以抓到多個資料,所以這部分我花了很久時間.
以下是詳細的用法:
while(rs.next())
{
id=rs.getString("article_id");



...
<*input name="delete" type="checkbox" value="<% out.print(id);%>" />


}
先抓取選擇到的id存到delete裡(我原本以為是存成delete[0]、delete[1]、...delete[n],當request.getParameterValues抓值會以delete當參考,不過這樣是錯誤的),

String delete[] = request.getParameterValues("delete");
把delete的值抓到delete陣列裡(會依照打勾的checkbox存值,都沒有的話會是NULL),

int size=java.lang.reflect.Array.getLength(delete);
抓delete陣列的大小(不知道為什麼如果用其他的整數變數似乎會錯誤),

for(int x=0;x<*size;x++)
{
out.println(delete[x]);
}
輸出delete陣列.

沒有留言:

張貼留言