问题
In Spring MVC controller, I can get path variable using @PathVariable to get the value of a variable defined in @RequestMapping. How can I get the value of the variable in an interceptor?
Thank you very much!
回答1:
The thread linked to by Pao worked a treat for me
In the preHandle() method you can extract the various PathVariables by running the following code
Map pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
回答2:
There is a thread in the Spring forums, where someone says, there is no "easy way", so i suppose you would have to parse the URL to get it.
回答3:
Almost 1 year too late, but:
String[] requestMappingParams = ((HandlerMethod)handler).getMethodAnnotation(RequestMapping.class).params()
for (String value : requestMappingParams) {...
should help
来源:https://stackoverflow.com/questions/12249721/spring-mvc-3-how-to-get-path-variable-in-an-interceptor