Spring mvc SpringMVC:如何在渲染视图之前更改模型属性?谢谢

Spring mvc SpringMVC:如何在渲染视图之前更改模型属性?谢谢,spring-mvc,Spring Mvc,我想在渲染视图之前添加或删除一些属性,我认为拦截器可以帮助我,但它不起作用,任何人都可以帮助我,非常感谢 mvc上下文xml: <mvc:annotation-driven></mvc:annotation-driven> <mvc:interceptors> <bean class="org.tt.interceptor.FieldsInterceptor"></bean> </mvc:interceptors>

我想在渲染视图之前添加或删除一些属性,我认为拦截器可以帮助我,但它不起作用,任何人都可以帮助我,非常感谢

mvc上下文xml:

<mvc:annotation-driven></mvc:annotation-driven>
<mvc:interceptors>
    <bean class="org.tt.interceptor.FieldsInterceptor"></bean>
</mvc:interceptors>

<bean id="jsonWSResponseView" class="org.tt.view.JsonWSResponseView"></bean>
<bean id="xmlWSResponseView" class="org.tt.view.XmlWSResponseView"></bean>
<!-- ViewResolver -->
<bean id="viewResolver" class="org.tt.ws.WSViewResolver">
    <property name="views">
        <map>
            <entry key="json" value-ref="jsonWSResponseView"></entry>
            <entry key="xml" value-ref="xmlWSResponseView"></entry>
        </map>
    </property>
</bean>
字段接收器:

public class FieldsInterceptor extends HandlerInterceptorAdapter {

    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
        try {
            modelAndView.addObject("AA", "add attribute");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
观点:

public class JsonWSResponseView implements View {
    public String getContentType() {
        return "application/Json";
    }

    public void render(Map<String, ?> map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        OutputStreamWriter os = new OutputStreamWriter(httpServletResponse.getOutputStream());
        os.write(JSON.toJSONString(map.get("modelAndView")));
        os.close();
    }
}
公共类JsonWSResponseView实现视图{
公共字符串getContentType(){
返回“application/Json”;
}
公共void呈现(映射映射、HttpServletRequest HttpServletRequest、HttpServletResponse HttpServletResponse)引发异常{
OutputStreamWriter os=新的OutputStreamWriter(httpServletResponse.getOutputStream());
write(JSON.toJSONString(map.get(“modelAndView”));
os.close();
}
}
请求和答复:

可能存在的副本
public class JsonWSResponseView implements View {
    public String getContentType() {
        return "application/Json";
    }

    public void render(Map<String, ?> map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        OutputStreamWriter os = new OutputStreamWriter(httpServletResponse.getOutputStream());
        os.write(JSON.toJSONString(map.get("modelAndView")));
        os.close();
    }
}