Istnieje menu rozwijane i chcę dodać pozycję "Brak wyboru" do listy, która powinna dać mi "null" po przesłaniu. Korzystam z kontrolera pochodnego SimpleFormController.Wiosenne znaczniki formularza MVC: Czy istnieje standardowy sposób dodawania elementu "Brak wyboru"?
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;
}
A jspx część jest
<form:select path="country" items="${countryList}" title="country"/>
Możliwym rozwiązaniem wydaje się być na dodaniu wartości null na początku listy, a następnie przy użyciu niestandardowego PropertyEditor do Disply to 'null' jako ' Brak wyboru'. Czy istnieje lepsze rozwiązanie?
@Edit: Rozwiązałem to za pomocą niestandardowej adnotacji sprawdzania poprawności, która sprawdza, czy wybrana wartość to "Brak zaznaczenia". Czy istnieje bardziej standardowe i łatwiejsze rozwiązanie?
Uważaj przy użyciu nazwanego obiektu ' ' na stronach jspx (ostatnio prowadzi to do błędów dla mnie, stwierdzając, że obiekt nie jest zdefiniowany, lub niektóre z nich). Wydaje się bezpieczniejsze odwoływanie się do spacji nierozdzielającej według jej kodu: ' ' – Michael
W ten sposób NoSelection opublikuje pusty łańcuch, a nie 'null'. value = $ {null} powinno opublikować wartość null. – javabot