如何在spring框架中为所有控制器设置代理? 我想改变控制器的返回表达式。
答案 0 :(得分: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实现适用于所有请求。您当然可以更改映射以满足您的应用程序需求。