-4

In a servlet I want to get listbox selected values rendered by a JSP:

<td width="50%" type="text"  size="10">
    <select name="famille">
        <% while (rst.next()) {%>
            <option value="<%=rst.getString(1)%>" selected="selected">
                <%=rst.getString(1)%>
            </option>
        <% } %>
    </select>
</td>

Servlet code:

String famille = request.getParameter("famille");
System.out.println("famille      "+famille);

Only the first item is printed. How do I get the rest?

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
  • Well, as your ` – Jozef Chocholacek Dec 14 '17 at 13:26

1 Answers1

0

In your JSP, the HTML code needs a multiple attribute, as per select multiple:

<td width="50%" type="text"  size="10">
    <select name="famille" multiple> <!-- `multiple` needed here -->
        <% while (rst.next()) {%>
            <option value="<%=rst.getString(1)%>" selected="selected">
                <%=rst.getString(1)%>
            </option>
        <% } %>
    </select>
</td>

In your Servlet code, you need to use the multiple-parameter API call:

String[] famille = request.getParameterValues("famille"); // Returns an array
System.out.println("famille      " + java.util.Arrays.toString(famille));
Stewart
  • 17,616
  • 8
  • 52
  • 80