如何在 spring 框架中为我的所有控制器设置代理?我想改变我的控制器的返回表达式。
问问题
845 次
1 回答
1
我假设您使用的是 Spring MVC 3.* 和 XML 配置。如果不是这种情况,请告诉我,我会相应地更新我的答案。
Spring MVC 提供了HandlerInterceptor接口,可用于预处理和后处理由所有控制器处理的请求。我建议您创建和实现此接口,并使用 postHandle() 方法相应地更改控制器的输出。
完成 HandlerInterceptor 实现后,您需要指示 Spring MVC 使用它。Spring MVC 的命名空间配置使这非常容易。举个例子:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.example.MyInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
在这个例子中,我注册了一个由 com.example.MyInterceptor 类实现的 HandlerInterceptor。我还在配置 Spring MVC 以使 HandlerInterceptor 实现适用于所有请求。您当然可以更改映射以满足您的应用程序需求。
于 2013-06-21T17:24:36.283 回答