微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 使用WebContentInterceptor为spring mvc 3的不同部分设置无缓存?

您好我在那里开发了一个动态Web应用程序,它使用Ajax从数据库获取数据并使GUI保持最新,但在使用IE8进行测试时,我遇到了缓存问题.

我在webmvc-config.xml文件中使用以下代码来阻止浏览器进行缓存:

< mvc:annotation-driven />
    < MVC:拦截>
        < bean id =“webContentInterceptor”
          类= “org.springframework.web.servlet.mvc.WebContentInterceptor” >
        < property name =“cacheSeconds”value =“0”/>
        < property name =“useExpiresHeader”value =“true”/>
        < property name =“useCacheControlHeader”value =“true”/>
        < property name =“useCacheControlNoStore”value =“true”/>
    < /豆腐>
    < / MVC:拦截>

并且它完全按照预期工作,但问题是现在浏览器显然没有缓存任何东西.我想知道的是如何修改该xml代码,以便它适用于Web应用程序的Ajax部分(使用5个Controller文件控制);所以icon..etc仍然被缓存?这些控制器文件的路径类似于“/ admin / **”

我知道Spring WebContentInterceptor具有诸如“setCacheMappings”和“setPathMatcher”之类的属性,但是我无法在线找到这些在xml配置文件中使用的示例.

任何帮助将非常感激,它真的在我的脑袋…谢谢.可靠的人

解决方法

在你的< mvc:interceptors>中您可以限制每个拦截器应该应用的URL路径,如下所示:

<mvc:interceptors>
    <mvc:interceptor>
        <mapping path="/admin/*"/>
        <bean id="webContentInterceptor" ..... />
    </mvc:interceptor>
<mvc:interceptors>

这一切都解释了here.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐