1

我是 Spring 和一般框架中的新手...

我有几行代码我想在几乎每个处理程序中执行。例如,我将我的数据库会话和经过身份验证的用户保存为 httpSession 属性,对于我的大多数处理程序,我有:

@RequestMapping(....)
public ModelAndView get(HttpSession ses){
   User u = ses.getAttribute("currUser");
   DBsession session = ses.getAttribute("DBsession");
   if( u==null ) new ModelAndView("redirect:login");
   ...
}

spring 有什么方法可以为我做到这一点并直接将 DBsession 和经过身份验证的 User 对象作为处理程序参数?

@RequestMapping(....)
public ModelAndView get(User u, DBsession session ){
   ...
}
4

1 回答 1

1

正确的方法是使用自定义WebArgumentResolver,它干净地扩展了带@RequestMapping注释的处理程序方法来解析参数。我使用这种机制来处理干净地合并 JPA 实体并将它们传递给我的控制器。

您可以在此处此处查看执行此操作的示例,或者在 Google 上查看更多信息,有很多。

于 2013-01-11T16:54:36.440 回答