服务器端获取多个选择值

时间:2009-12-15 09:18:49

标签: jsp select

上一个问题的延续: multiple select

有没有办法在jsp(服务器端)中获取所选值?

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:0)

我已经阅读了你之前的问题,如果您想要的只是提交所有选定的值,那么Javascript就相当超级了。只需在getParameterValues()字段名称上执行<select>即可。你通常在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中的所选值,请使用JSTL c:forEach

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

有关Java EE tutorial part II chapter 4中的servlet的更多信息。