$ {status.value}不起作用

时间:2014-07-25 11:06:28

标签: java spring jsp spring-mvc

我在我的项目中启用了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
    }
}

任何想法有什么不对?

1 个答案:

答案 0 :(得分:2)

添加@ peter的评论,

items属性中使用的

"${status.value}"返回String。而选项标签内的items属性需要list。从你的例外中可以看出它非常清楚。

检查您是否以正确的方式将项目添加到list。我猜你每次都覆盖同一个实例