JSP中擷取表單中多選列表(Multiple Select)提交的值JSP中擷取表單中多選列表(Multiple Select)提交的值10.0102
在select標籤中添加multiple=”multiple”屬性,可以使下拉式清單(drop down list)變成多選列表(multiple select list),但是在jsp與servlet中使用擷取表單值常用的request.getParameter(”value”)擷取到的只是多選列表中的第一個選中值,經過查詢資料,原來HttpServletRequest還有一個方法getParameterValues(String key),其傳回值為String類型的數組,裡面存放的正是多選列表中的選中的值。
也就是說,jsp和servlet中對於表單中的多選控制項提交的值都是通過此getParameterValues方法來擷取的,比如checkbox list(複選框列表)等,範例程式碼如下:
<form action=”index.jsp” method=”POST”>
<select name=”value” multiple=”multiple”>
<option value=”val1″>Value 1</option>
<option value=”val2″>Value 2</option>
<option value=”val3″>Value 3</option>
<option value=”val4″>Value 4</option>
<option value=”val5″>Value 5</option>
</select>
<input type=”submit” value=”Submit”>
</form>
<%
out.write(”<h3>selected values : <h3>”);
String[] selected = request.getParameterValues(”value”);
if(selected != null){
for(int i=0; i<selected.length; i++){
out.write(”<p>” + selected[i] + “<p>”);
}
}else{
out.write(”<p> No value selected <p>”);
}
%>
1)初始狀態,未選擇時
2)假定選擇了2,3,4
3)結果:
4)選擇一個
5)結果: