Springを使用して、ビューで次のController属性を取得するにはどうすればよいですか?
- コントローラ名
- コントローラの@RequestMappingURI
- アクションメソッド名
- アクションメソッドの@RequestMappingURI
私が試した1つのアプローチは、HandlerInterceptorAdapterのサブクラスを作成し、postHandleをオーバーライドすることです。サブクラスを指定されたパスのリストのmvc:interceptorとして登録します。これは維持するのが面倒ですが、ResourceHandlerリクエストに対してインターセプターが呼び出されるのを回避する唯一の方法でした(これは望ましくありません)。私のpostHandleでは、2つの名前属性を簡単に追加できますが、URIは追加できません...
- HttpRequestオブジェクトから解析するには、すべてのControllerRequestMappingsに制約が必要です。つまり、常に/ Controller/Actionまたはequivスキームをマップする必要があります。かなり制限があります。
- ApplicationContextを作成し、それをrequestURIでクエリするのは時間がかかりすぎます。
HandlerInterceptorAdapterを削除し、代わりにすべてのコントローラーが拡張するBaseControllerを定義することを考えています。
これを行う前に質問したかったのですが、もっと良いアプローチはありますか?