1

Springおよび一般的なフレームワークの新機能...

ほとんどすべてのハンドラーで実行したいコードがいくつかあります。たとえば、DBセッションと認証されたユーザーを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エンティティをクリーンにマージし、それらをコントローラーに渡しました。

あなたはここここでこれをする例を見ることができます、あるいはもっと多くのためにグーグル、たくさんあります。

于 2013-01-11T16:54:36.440 に答える