web-dev-qa-db-ja.com

Spring mvc 3:インターセプターでパス変数を取得する方法は?

Spring MVCコントローラーでは、@ PathVariableを使用してパス変数を取得し、@ RequestMappingで定義された変数の値を取得できます。インターセプターで変数の値を取得するにはどうすればよいですか?

どうもありがとうございました!

22
Leon

パオによってリンクされたスレッドは私のために御馳走を働いた

PreHandle()メソッドでは、次のコードを実行してさまざまなPathVariablesを抽出できます。

Map pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); 
71
ashario

ほぼ1年遅すぎますが、:

         String[] requestMappingParams = ((HandlerMethod)handler).getMethodAnnotation(RequestMapping.class).params()

         for (String value : requestMappingParams) {...

助けるべき

3
freakman

Springフォーラムには thread があり、誰かが「簡単な方法」はないと言っているので、URLを解析して取得する必要があると思います。

3
Pao