Теги Spring MVC Form: есть ли стандартный способ добавить & # 8220; Нет выбора & # 8221; вещь?

StackOverflow https://stackoverflow.com/questions/162497

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

Другие советы

Я не думаю, что вам нужен редактор свойств для этого. Если " пусто " опция находится первой в списке, и тег, который выводит список, не помечает ни одну из них как выбранную, затем браузер должен выбрать первую, "пустую" один автоматически.

Когда вы отправляете форму, попробуйте поработать с ней так, чтобы " blank " значение привязано к вашей команде как ноль, что может произойти автоматически, в зависимости от типа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top