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