2009-12-15 47 views

回答

8

following call返回一个字符串数组:

String[] values = request.getParameterValues("the-select-name"); 
0

我读过你前面的问题和一段JavaScript代码是相当superflous如果你想要的只是提交所有选定的值。只需在<select>字段名称上做getParameterValues()就足够了。而且你通常在Servlet中这样做,而不是在JSP中。

<form action="myservlet" method="post"> 
    <select name="myselect" multiple> 
     <option value="value1">label1</option> 
     <option value="value2">label2</option> 
     <option value="value3">label3</option> 
    </select> 
    <input type="submit"> 
</form> 

的servlet:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    String[] selected = request.getParameterValues("myselect"); 
    // Handle it. 

    // Now show the "result.jsp". 
    request.getRequestDispatcher("result.jsp").forward(request, response); 
} 

如果你想显示result.jsp选定的值,然后使用JSTLc:forEach

<c:forEach items="${param.myselect}" var="selected"> 
    Selected item: ${selected}<br> 
</c:forEach> 

更多关于servlet中Java EE tutorial part II chapter 4