从View访问Spring Controller Name

时间:2012-08-13 21:41:37

标签: spring spring-mvc

使用Spring,如何在视图中检索以下Controller属性?

  • 控制器名称
  • Controller的@RequestMapping URI
  • 操作方法名称
  • 操作方法的@RequestMapping URI

我尝试过的一种方法是创建HandlerInterceptorAdapter的子类并覆盖postHandle。我将我的子类注册为mvc:interceptor以获取给定路径的列表 - 维护起来很笨,但这是避免为拦截器调用ResourceHandler请求(我不想要)的唯一方法。在我的postHandle中,我可以轻松添加2个名称属性,但不能添加URI ...

  1. 从HttpRequest对象解析需要对所有Controller RequestMappings进行约束。即我必须始终映射/控制器/动作或等效方案。相当有限制。
  2. 创建一个ApplicationContext并使用requestURI查询它太冗长了。
  3. 我正在考虑删除HandlerInterceptorAdapter,而是为我的所有控制器定义一个BaseController来扩展。

    在我这样做之前我想问一下,有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

你还没有说明为什么你需要这样做(有时候有助于包括你的动机,因为其他人可以建议其他方法)。

但我猜测Spring 3.1功能被称为“端点文档”可能会按照您的要求进行操作...请参阅Spring documentation中的RequestMappingHandlerMapping,但这并不能提供很多帮助。详细信息,因此这个示例项目是查看它的最佳位置: