2

我试图在我的视图中有一些对象,但我不想在我的控制器的每个方法中重复/包含代码,所以我想把这个对象放在一个会话中。

这样它就可以在视图中使用,并且我不会重复代码。

所以我的问题是如何拦截表单创建并为每个创建的会话设置一些对象?

4

1 回答 1

0

当您想让某些数据/对象可用于所有控制器方法时,最好将其放在控制器方法级别的模型中(使用@ModelAttribute)。下面的例子:

@Controller
public class MyController{

    @ModelAttribute
    public void getEmpRoles(Model model) {
        List<String> roles = myservice.loadEmpRoles();
        model.addAttribute(roles);
    }

    @RequestMapping(...)
    public String m1(Model model){
        // You roles model is available here
    }
}

请参阅此处的 spring doc (http://bit.ly/JCutg2) 以了解有关方法级别 @ModelAttribute 的更多信息

于 2012-10-19T10:27:39.303 回答