Spring MVC的表单标签:是否有添加“无选择”项目的标准方式?(Spring MVC Form

2019-09-01 05:57发布

有一个选择下拉,我想加上“无选择”项目列表至极提交时应该给我“空”。 我使用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"/>

一个可行的办法似乎是在增加一个空值到列表的开头,然后使用自定义属性编辑器来DISPLY这个“空”为“无选择”。 有没有更好的解决办法?

@Edit:我有一个自定义的验证注解,检查如果选择的值是“没有选择”解决了这个。 有没有更标准,更容易的解决方案?

Answer 1:

一个选项:

<form:select path="country" title="country" >
     <form:option value="">&nbsp;</form:option>
     <form:options items="${countryList}" />
</form:select>


Answer 2:

我不认为你应该需要这样的属性编辑器。 如果“空白”的选择是先在列表中,并且输出列表,选择不标注任何人的标签,然后在浏览器会自动选择第一个“空白”之一。

当您提交表单,试图使“空”值绑定到您的命令为空值,这可能会自动发生,这取决于类型的工作吧。



文章来源: Spring MVC Form tags: Is there a standard way to add “No selection” item?