有一个选择下拉列表,我想将“无选择”项目添加到列表中,提交时应该给我“空”。我正在使用 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 将此“空”显示为“无选择”。有更好的解决方案吗?
@Edit:我已经通过自定义验证注释解决了这个问题,该注释检查所选值是否为“无选择”。有没有更标准、更简单的解决方案?