我在我的项目中启用了spring mvc注释。 之后,spring标签不能像以前那样工作:
<spring:bind path="list">
<form:select path="mMaxFrequency">
<form:options items="${status.value}"/>
</form:select>
</spring:bind>
在渲染jsp页面时,我遇到以下异常:
Caused by: javax.servlet.jsp.JspException: Type [java.lang.String] is not valid for option items
我的控制器:
@RequestMapping(method = RequestMethod.GET)
public String show(@ModelAttribute("form") AccessForm form, Map<String, Object> model) throws IOException {
AccessSettings settings = getAccessSettings();
form.setAlertSettings(settings.getAlertSettings());
form.setMaxFrequency(settings.getMaxFrequency());
return "page";
}
public class AccessForm{
public List<Long> getList() {
// some custom logic that generate long items
}
}
任何想法有什么不对?
答案 0 :(得分:2)
添加@ peter的评论,
items属性中使用的 "${status.value}"
返回String
。而选项标签内的items属性需要list
。从你的例外中可以看出它非常清楚。
检查您是否以正确的方式将项目添加到list
。我猜你每次都覆盖同一个实例