struts2中如何实现类似于spring mvc的mvc:resources静态资源管理

waitttttttttttting 发布于 2014/12/08 15:27
阅读 678
收藏 0
需求是这样的:
因为每次系统升级,修改了css丶js等静态资源,上线后,有的用户还是之前老的css或js,因为有缓存,需要强制刷新才能获取最新的.
所以想对静态资源加上版本号,每次升级就将版本号+1
想要的效果是这样的:
页面中有请求/static/v1.0.1/images/index.png 实际请求/static/images/index.png

在spring mvc中可以这样做:
<mvc:resources mapping="${static.path}/v${static.version}/**" location="/static/"/>

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**" />
            <mvc:exclude-mapping path="/${static.path}/v${asset.version}/**" />
        </mvc:interceptor>
    </mvc:interceptors>

但在struts2中如何实现?
一开始我去重写了DefaultStaticContentLoader的一些方法.结果最后发现需要将静态资源放到java源文件根目录,但我不想放到那儿,还是保持在webapp下.
后面又想能不能在filter中去改变request的url,比如本来是请求/static/v1.0.1/images/index.png,我将其改变为/static/images/index.png, 不知道能不能做到
请问有没有比较好的解决方案?谢谢..
加载中
返回顶部
顶部