我想知道控制器方法应该如何与ModelAttribute
带注释的方法进行交互。
例如,handlePage
方法想要过滤由createList
方法创建的列表?
或者设置由createAnObject
方法创建的对象的ID?
是否有可能将ModelAttribute
注释方法设计为将静态数据附加到模型中?
@ModelAttribute("someList")
public ArrayList<SomeList> createList() {
return new ArrayList<SomeList>(100);
}
@ModelAttribute("anObject")
public AnObject createAnObject() {
return new MyObject();
}
@RequestMapping(method=RequestMethod.GET)
public void handlePage(Model model) {
//Do some stuff to populate the model....
}
答案 0 :(得分:1)
两者不应该真正互动。在此上下文中,@ModelAttribute
旨在暴露参考数据,即不依赖于请求细节的数据。
如果您的处理程序方法需要修改该数据,则@ModelAttribute
不合适。相反,处理程序方法应该在修改后将数据显式添加到模型中。