Il y a une liste déroulante et je veux ajouter l'item "Pas de sélection" à la liste qui devrait me donner "null" quand soumis. J'utilise le contrôleur dérivé SimpleFormController.Spring MVC Etiquettes de formulaire: Existe-t-il un moyen standard d'ajouter un élément "Pas de sélection"?
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;
}
Et la partie JSPX est
<form:select path="country" items="${countryList}" title="country"/>
Une solution possible semble être en ajoutant une valeur nulle au début de la liste, puis en utilisant un PropertyEditor personnalisé pour disply cette « null » comme ' Pas de choix'. Y a-t-il une meilleure solution?
@Edit: J'ai résolu ceci avec une annotation de validation personnalisée qui vérifie si la valeur sélectionnée est "Aucune sélection". Y a-t-il une solution plus standard et plus facile?
Attention à l'utilisation de l'entité nommée ' ' dans les pages jspx (cela a récemment conduit à des erreurs pour moi, indiquant que l'entité n'est pas définie, ou une telle). Il semble plus sûr de se référer à l'espace insécable par son code: ' ' – Michael
De cette façon, NoSelection affichera une chaîne vide, pas 'null', cependant. value = $ {null} devrait être nul. – javabot