0

如何在 spring 框架中为我的所有控制器设置代理?我想改变我的控制器的返回表达式。

4

1 回答 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 回答