Selected value for JSP drop down using JSTL

drop-down-menu, jsp, jstl, retain

Solution

In HTML, the selected option is represented by the presence of the `selected` attribute on the `<option>` element like so:

<option ... selected>...</option>

Or if you're HTML/XHTML strict:

<option ... selected="selected">...</option>

Thus, you just have to let JSP/EL print it conditionally. Provided that you've prepared the selected department as follows:

request.setAttribute("selectedDept", selectedDept);

then this should do:

<select name="department">
    <c:forEach var="item" items="${dept}">
        <option value="${item.key}" ${item.key == selectedDept ? 'selected="selected"' : ''}>${item.value}</option>
    </c:forEach>
</select>

See also:

- How can I retain HTML form field values in JSP after submitting form to Servlet?

Problem

I have SortedMap in Servlet to populate drop down values in JSP and I have the following code ``` SortedMap<String, String> dept = findDepartment(); request.setAttribute("dept ", dept); ``` and in JSP ``` <select name="department"> <c:forEach var="item" items="${dept}"> <option value="${item.key}">${item.value}</option> </c:forEach> </select> ``` I am using one JSP page for insert and update. When I am editing the page how can I set selected value to drop down where selected value will come from database.

Original source

Related problems