si usa
codice:
request.getParameterValues("nome_array");
dove per nome_array è il valore del attributo name comune a tutti gli elementi che vuoi raggruppare e recupeare (tipicamente saranno checkbox, ma potrebbero essere benissimo textfields e quant'altro).
Un esempio pratico:
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name="myform" action="multipleParams.jsp" method="post">
<% for(int i = 1; i <= 10; i++) { %>
<input type="checkbox" name="idrecord[]" value="<% out.print(i); %>" /> Valore: <% out.print(i); %>
<% } %>
<input type="submit" value="submit" />
</form>
<%
String[] idrecord = request.getParameterValues("idrecord[]");
if (idrecord != null) {
out.println("<h2>Valori inviati</h2>");
for (int i = 0; i < idrecord.length; i++) {
out.println("#"+i+": "+idrecord[i]+"
");
}
}
else {
out.println("<h2>Form non ancora inviato o nessun valore selezionato.</h2>");
}
%>
</body>
</html>
Ti faccio notare che mi sono attenuto ad una "vecchia" raccomandazione (X)HTML per quanto riguarda l'attributo "name" di signori da raggruppare, ovvero di specificarli includendo le parentesi quadre nel nome (come fosse un array). Per JSP ciò è irrilevante, ma per javascript fa la differenza... se non dovessi aver necessità di fare controlli a livello javascript (tipicamente prima di inviare il form) puoi omettere le parentesi quadre (anche dove recuperi in request), ed il codice diventerebbe qualcosa del genere:
codice:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name="myform" action="multipleParams.jsp" method="post">
<% for(int i = 1; i <= 10; i++) { %>
<input type="checkbox" name="idrecord" value="<% out.print(i); %>" /> Valore: <% out.print(i); %>
<% } %>
<input type="submit" value="submit" />
</form>
<%
String[] idrecord = request.getParameterValues("idrecord");
if (idrecord != null) {
out.println("<h2>Valori inviati</h2>");
for (int i = 0; i < idrecord.length; i++) {
out.println("#"+i+": "+idrecord[i]+"
");
}
}
else {
out.println("<h2>Form non ancora inviato o nessun valore selezionato.</h2>");
}
%>
</body>
</html>