mvc form docs java forms spring spring-mvc

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="">&nbsp;</form:option> <form:options items="${countryList}" /> </form:select>