要从Spring MVC拦截器访问控制器方法参数值,可以使用以下方法: 1. 使用HandlerInterceptor接口的preHandle方法: 在拦截器的preHandle方法中,可以通过HandlerMethod参数获取到当前处理的控制器方法的信息。然后,可以使用反射来获取控制器方法的参数值。 ```java @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = (HandlerMethod) handler; MethodParameter[] methodParameters = handlerMethod.getMethodParameters(); for (MethodParameter methodParameter : methodParameters) { // 获取参数值 Object parameterValue = methodParameter.getParameter(); // 处理参数值 // ... } } return true; } ``` 2. 使用HandlerInterceptor接口的postHandle方法: 在拦截器的postHandle方法中,可以通过ModelAndView参数获取到控制器方法的返回值和参数值。然后,可以使用ModelAndView中的getModelMap方法来获取参数值。 ```java @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { if (modelAndView != null) { Map<String, Object> modelMap = modelAndView.getModelMap(); for (Map.Entry<String, Object> entry : modelMap.entrySet()) { // 获取参数值 Object parameterValue = entry.getValue(); // 处理参数值 // ... } } } ``` 请注意,这些方法只能获取到控制器方法的参数值,而无法修改它们。如果需要修改参数值,可以考虑使用HandlerMethodArgumentResolver接口来自定义参数解析器。