引用静态文件的时候 这样处理 加上版本号?v=文件最后修改时间
<%=WebCacheAutoVersion.AutoVersion(path,root,"/assets/scripts/slider.js")%>
public class WebCacheAutoVersion { public static String AutoVersion(String path, String root, String fileName) { File file = new File(path, fileName); if (file.exists()) { return root + fileName + "?ver=" + file.lastModified(); } else { return root + fileName + "?ver=1"; }
}
} 问题是我在每个 jsp 文件中只要引入 JS 文件都会手动去 <%=WebCacheAutoVersion.AutoVersion(path,root,"/assets/scripts/slider.js")%> 这样设置文件路径
有没有办法其他更好的办法,很快让人上手并投入使用的呢?
|  |      1teemoer OP 上图:   | 
|  |      2rason      2016-06-17 11:20:00 +08:00 自定义标签 | 
|  |      3wwqgtxx      2016-06-17 12:18:36 +08:00 via Android | 
|  |      4palmers      2016-06-17 12:35:05 +08:00 ```javascript src="../js/security.js?version=${applicationScope.version}" ``` | 
|  |      5teemoer OP @palmers = = 这个还是需要在 每一个引入文件的地方尾巴后面加上${applicationScope.version} ...... | 
|  |      7jason19659      2016-06-17 15:18:45 +08:00 服务器设置不缓存 | 
|  |      8chocotan      2016-06-18 00:19:39 +08:00 | 
|  |      9SoloCompany      2016-06-18 03:42:01 +08:00 比较简单的做法是起一个特殊名字的目录存放静态资源,比如 asset/@@version@@/ 打包把整个字符串替换同时目录更名 但建议还是上前端工程吧 | 
|  |      10julor      2016-06-18 06:43:44 +08:00 via Android 你们居然不用前段工具?! gulp 送上 | 
|  |      11mifly      2016-06-18 11:06:34 +08:00 为什么要关掉浏览器缓存呢? 如果只是为了测试,设置浏览器不用缓存,或者打开开发者工具,在 network 那里可以关掉缓存 | 
|  |      12teemoer OP @mifly 我现在 的情况是   服务器更新程序了  但是因为 有些客户的电脑有缓存 不会更新一些 js 文件 导致网页有问题.是这样的 | 
|  |      13teemoer OP @jason19659 = = 你没开玩笑吧  用户量一大  服务器能扛得住? |