java - docs - Etiquetas de formulario Spring MVC: ¿Existe una forma estándar de agregar el ítem "Sin selección"?
spring mvc jsp (2)
Hay un menú desplegable de selección y quiero agregar el elemento "Sin selección" a la lista que debería darme ''nulo'' cuando se envíe. Estoy usando el controlador derivado SimpleFormController.
protected Map referenceData(HttpServletRequest httpServletRequest, Object o, Errors errors) throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("countryList", Arrays.asList(Country.values()));
return map;
}
Y la parte jspx es
<form:select path="country" items="${countryList}" title="country"/>
Una posible solución parece ser agregar un valor nulo al comienzo de la lista y luego usar un PropertyEditor personalizado para aplicar este ''nulo'' como ''Sin selección''. ¿Hay una mejor solución?
@Editar: he resuelto esto con una anotación de validación personalizada que comprueba si el valor seleccionado es "Sin selección". ¿Hay una solución más estándar y más fácil?
No creo que necesites un editor de propiedades para esto. Si la opción "en blanco" está primero en la lista, y la etiqueta que muestra la lista no marca ninguno de ellos como seleccionado, entonces el navegador debe seleccionar el primero, "en blanco" automáticamente.
Cuando envíe el formulario, intente y trabaje de modo que el valor "en blanco" esté vinculado a su comando como nulo, lo que podría suceder automáticamente, según el tipo.
Una opción:
<form:select path="country" title="country" >
<form:option value=""> </form:option>
<form:options items="${countryList}" />
</form:select>