没有比人更高的山

JSP中获取表单中多选列表(Multiple Select)提交的值0

在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>”);
}
%>

VN:F [1.7.5_995]
Rating: 10.0/10 (2 votes cast)
VN:F [1.7.5_995]
Rating: 0 (from 0 votes)