Ответ 1
request.getParameterValues("select2")
возвращает массив всех представленных значений.
У меня есть html-форма, у которой есть окно выбора, из которого вы можете выбрать несколько значений, потому что для его множественного свойства установлено значение несколько. Рассмотрим метод формы - метод get. Код html для формы выглядит следующим образом.
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="display.jsp">
<table width="300" border="1">
<tr>
<td><label>Multiple Selection </label> </td>
<td><select name="select2" size="3" multiple="multiple" tabindex="1">
<option value="11">eleven</option>
<option value="12">twelve</option>
<option value="13">thirette</option>
<option value="14">fourteen</option>
<option value="15">fifteen</option>
<option value="16">sixteen</option>
<option value="17">seventeen</option>
<option value="18">eighteen</option>
<option value="19">nineteen</option>
<option value="20">twenty</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td>
</tr>
</table>
</form>
</body>
</html>
Я хочу отобразить выбранные значения в списке выбора на странице display.jsp. Так как доступ к выбранным значениям осуществляется на странице display.jsp.
request.getParameterValues("select2")
возвращает массив всех представленных значений.
Что-то в строках (используя JSTL):
<p>Selected Values:
<ul>
<c:forEach items="${paramValues['select2']}" var="selectedValue">
<li><c:out value="${selectedValue}" /></li>
</c:forEach>
</ul>
</p>
Так как я не нахожу простого ответа, просто добавляя больше, это будет страница JSP. сохраните этот контент в jsp файле после запуска, вы увидите значения выбранного отображаемого.
Обновление: сохраните файл как test.jsp и запустите его на любом сервере веб-приложений.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<%@ page import="java.lang.*" %>
<%@ page import="java.io.*" %>
<% String[] a = request.getParameterValues("multiple");
if(a!=null)
{
for(int i=0;i<a.length;i++){
//out.println(Integer.parseInt(a[i])); //If integer
out.println(a[i]);
}}
%>
<html>
<body>
<form action="test.jsp" method="get">
<select name="multiple" multiple="multiple"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<input type="submit">
</form>
</body>
</html>
Казалось бы, излишне, но Spring Forms обрабатывает это элегантно. Это, конечно, если вы уже используете Spring MVC и хотите воспользоваться функцией Spring Forms.
// jsp form
<form:select path="friendlyNumber" items="${friendlyNumberItems}" />
// the command class
public class NumberCmd {
private String[] friendlyNumber;
}
// in your Spring MVC controller submit method
@RequestMapping(method=RequestMethod.POST)
public String manageOrders(@ModelAttribute("nbrCmd") NumberCmd nbrCmd){
String[] selectedNumbers = nbrCmd.getFriendlyNumber();
}