JSP/page中的Spring MVC Controller类名

Rob*_*son 5 java spring jsp servlets spring-mvc

我有一个问题,一个我需要尽快解决的问题......在解决这个问题的过程中我已经解决了一些问题.

请参阅,我需要从JSP页面显示当前服务的Spring Controller.该名称不必在JSP本身中进行解析,我实际上正在使用另一个类(一种taglibrary)在任何页面的底部显示此信息.

有没有办法从外部类获取控制器名称?(当我在外面说时,我的意思是来自另一个类而不是控制器本身.)也许是从请求中得到了什么?(或者一些Spring Security请求属性?).也许是一个拦截器?

我想避免从控制器扩展一个类来解决这个问题.

任何建议都是适当的!

Ral*_*lph 4

您可以实现*它有一个方法,该方法具有您需要的两个参数:HandlerInterceptorpostHandle

  • Object handler- 可以转换为HandlerMethod,包含有关已处理请求的控制器方法的信息
  • ModelAndView- 您需要在此处添加有关处理方法的新信息

完整的方法签名org.springframework.web.servlet.HandlerInterceptor#postHandle

void postHandle(HttpServletRequest request,
                HttpServletResponse response,
                Object handler,
                ModelAndView modelAndView)
      throws Exception;
Run Code Online (Sandbox Code Playgroud)

HandlerInterceptor*可以扩展而不是直接实现HandlerInterceptorAdapter- 这是一个方便的抽象类,它以空主体实现所有方法HandlerInterceptor,因此只需重写所需的方法。

* 不要混淆,有两个HandlerInterceptor类,一类用于 Servlet,一类用于 Portlet ( org.springframework.web.portlet.HandlerInterceptor)。使用HandlerInterceptorServlet oorg.springframework.web.servlet.HandlerInterceptor