1

使用 Spring,我如何在视图中检索以下控制器属性?

  • 控制器名称
  • 控制器的@RequestMapping URI
  • 动作方法名称
  • Action 方法的 @RequestMapping URI

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

  1. 从 HttpRequest 对象解析需要对所有 Controller RequestMappings 进行约束。即我必须始终映射 /Controller/Action 或等效方案。相当有限。
  2. 创建一个 ApplicationContext 并使用 requestURI 查询它太冗长了。

我正在考虑删除 HandlerInterceptorAdapter,而是为我的所有控制器定义一个 BaseController 来扩展。

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

4

1 回答 1

0

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

但我猜测 Spring 3.1 的特性被松散地称为“端点文档”可能会满足您的要求......请参阅RequestMappingHandlerMappingSpring文档,它没有提供很多细节,所以这个示例项目是最好的地方看看它的实际效果:

于 2012-08-14T00:41:15.480 回答