Spring MVCでは、リクエストパラメーターをリクエストを処理するメソッドパラメーターにバインドするのは簡単です。私はただ使用します@RequestParameter("name")
。しかし、リクエスト属性で同じことを行うことはできますか?現在、リクエスト属性にアクセスしたい場合は、次のことを行う必要があります。
MyClass obj = (MyClass) request.getAttribute("attr_name");
しかし、私は本当に代わりにこのようなものを使用したいと思います:
@RequestAttribute("attr_name") MyClass obj
残念ながら、このようには機能しません。どういうわけかSpringの機能を拡張して、独自の「バインダー」を追加できますか?
編集 (私が達成しようとしていること):現在ログに記録されているユーザーをリクエスト属性内に保存します。したがって、現在ログに記録されているユーザー(ほとんどすべてのメソッド内にあります)にアクセスするときはいつでも、この余分な行を記述する必要がありuser = (User) request.getAttribute("user");
ます。できるだけ短くしたいのですが、できればメソッドパラメータとして注入してください。または、インターセプターとコントローラーを介して何かを渡す別の方法を知っている場合は、それを聞いてうれしいです。