Stvar je jednostavna. Vrednosti koje nisu selektovane ne putuju sa requestom. Dakle ostaje ti da ih selektujes pre submita:
(Varijacija je na temu da u ovom gore JavaScript loopu procitas vrednosti svakog OPTIONa i da ih smestis u hidden field u formatu koji ti odgovara.)
Evo prve varijante:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Example</title>
<script language="JavaScript">
function submitListValues()
{
var lst = document.getElementById("select1");
var items = lst.options;
for(i = 0; i < items.length; i++)
{
items[i].selected = true;
}
document.form1.submit();
}
</script>
</head>
<body>
<form name="form1" action="display.jsp" method="POST">
<select multiple="multiple" name="select1" id="select1">
<option value="Pera">Pera</option>
<option value="Mika">Mika</option>
<option value="Zika">Zika</option>
<option value="Steva">Steva</option>
<option value="Zoran">Zoran</option>
</select>
<input type="button" onClick="submitListValues();">
</form>
</body>
</html>
I onda procitas iz requesta:
Strana display.jsp
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Enumeration" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Prikaz vrednosti</title>
</head>
<body>
<%
Enumeration names = request.getParameterNames();
while(names.hasMoreElements())
{
String paramName = names.nextElement().toString();
String[] paramValues = request.getParameterValues(paramName);
out.println("<li>" + paramName);
for(String val : paramValues)
{
out.println(val);
out.println("<br>");
}
}
%>
</body>
</html>
Velja