Теги Spring MVC Form: есть ли стандартный способ добавить & # 8220; Нет выбора & # 8221; вещь?
-
03-07-2019 - |
Вопрос
В раскрывающемся списке есть выбор, и я хочу добавить " Нет выбора " элемент в списке, который должен дать мне «ноль» при отправке. Я использую производный контроллер 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;
}
И часть JSPX
<form:select path="country" items="${countryList}" title="country"/>
Одним из возможных решений является добавление нулевого значения в начало списка, а затем использование пользовательского PropertyEditor для отображения этого «нулевого» значения «Нет выбора». Есть ли лучшее решение?
@ Редактировать. Я решил эту проблему с помощью пользовательской аннотации проверки, которая проверяет, является ли выбранное значение «Нет выбора». Есть ли более стандартное и простое решение?
Решение
Один вариант:
<form:select path="country" title="country" >
<form:option value=""> </form:option>
<form:options items="${countryList}" />
</form:select>
Другие советы
Я не думаю, что вам нужен редактор свойств для этого. Если " пусто " опция находится первой в списке, и тег, который выводит список, не помечает ни одну из них как выбранную, затем браузер должен выбрать первую, "пустую" один автоматически.
Когда вы отправляете форму, попробуйте поработать с ней так, чтобы " blank " значение привязано к вашей команде как ноль, что может произойти автоматически, в зависимости от типа.