上一个问题的延续: multiple select
有没有办法在jsp(服务器端)中获取所选值?
答案 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的更多信息。