Cargar combos con Spring MVC (Form controller)

Se pueden llenar combos con Maps o con lista de beans. En este ejemplo lo estoy cargando con una lista de beans.

Asumimos que departamentos es una lista de objetos del tipo Departamento, el cual tiene atributos de código "coDepartamento" y descripción "deDepartamento" (label)

Desde el controller enviamos la lista de departamentos en el request.


List departamentos = departamentoDao.getDepartamentos();
request.setAttribute("departamentos",departamentos);


Para esto debemos definir el código del departamento como atributo del command.

Hay dos maneras de cargar los combos

1) con form:option

<form:select path="coDepartamento" id="coDepartemento"
<c:forEach items="${departamentos}" var="departamento">
<form:option value="${departamento.coDepartamento}" >
<c:out value="${departamento.coDepartamento}"/>
</form:select>


2) con form:options (prefiero usar este, es más entendible)

<form:select path="coDepartamento" id="coDepartemento"
<form:options items="${departamentos}"
itemValue="coDepartamento"
itemLabel="deDepartamento"/>
</form:select>


- El path es el atributo del command

Comentarios