Solución:
En HTML, la opción seleccionada está representada por la presencia del selected
atributo en el <option>
elemento así:
<option ... selected>...</option>
O si es estricto en HTML / XHTML:
<option ... selected="selected">...</option>
Por lo tanto, solo tiene que dejar que JSP / EL lo imprima condicionalmente. Siempre que haya preparado el departamento seleccionado de la siguiente manera:
request.setAttribute("selectedDept", selectedDept);
entonces esto debería hacer:
<select name="department">
<c:forEach var="item" items="${dept}">
<option value="${item.key}" ${item.key == selectedDept ? 'selected="selected"' : ''}>${item.value}</option>
</c:forEach>
</select>
Ver también:
- ¿Cómo puedo conservar los valores de los campos de formulario HTML en JSP después de enviar el formulario a Servlet?
Probé la última respuesta de Sandeep Kumar, y encontré mucho más simple:
<option value="1" <c:if test="${item.key == 1}"> selected </c:if>>
Si no le importa usar jQuery, puede usar el siguiente código:
<script>
$(document).ready(function(){
$("#department").val("${requestScope.selectedDepartment}").attr('selected', 'selected');
});
</script>
<select id="department" name="department">
<c:forEach var="item" items="${dept}">
<option value="${item.key}">${item.value}</option>
</c:forEach>
</select>
En su Servlet agregue lo siguiente:
request.setAttribute("selectedDepartment", YOUR_SELECTED_DEPARTMENT );
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)