JSP /页面中的Spring MVC Controller类名
问题内容:
我有一个问题,还有一个我需要尽快解决的问题…在解决一些问题的其他方法上,我已经拔掉了头发。
看,我需要从JSP页面显示当前服务的Spring
Controller。名称不必在JSP本身中进行解析,实际上我正在使用另一个类(一种标签库)在每页的底部显示此信息。
有没有办法从外部类获取控制器名称?(当我在外面说时,我的意思是来自Controller之外的其他类。)也许是出于某种要求?(或者一些Spring
Security请求属性?)。也许是拦截器?
我想避免从控制器扩展一个类来解决此问题。
任何建议都适用!
问题答案:
您可以实现 * 它具有一个method
,它具有您需要的两个参数:HandlerInterceptor
__postHandle
Object handler
-可以转换为HandlerMethod
,包含有关已处理请求的Controller方法的信息ModelAndView
-您需要在其中添加有关处理方法的新信息
完整的方法签名org.springframework.web.servlet.HandlerInterceptor#postHandle
:
void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView)
throws Exception;
*HandlerInterceptor
可以直接扩展,而不是直接实现HandlerInterceptorAdapter
-这是一个方便的抽象类,它HandlerInterceptor
以空主体实现所有方法,因此只需要覆盖所需的方法即可。
*不要感到困惑,这里有两个HandlerInterceptor
类,一个用于Servlet,一个用于Portlet(org.springframework.web.portlet.HandlerInterceptor
)。使用HandlerInterceptor
for
Servlet oorg.springframework.web.servlet.HandlerInterceptor
!