比如style.css?v=1.0,客户端打开后会缓存1.0版本的css文件,而你在下次升级css文件后,文件名不改,那么没有清理过缓存的浏览器就会出现样式错误或者是旧样式。如果你改成style.css?v=2.0 ,就不会出现这样的问题,浏览器就会识别为新的css文件来重新加载。
1、将css写成jsp的格式,动态生成css<%@ page contentType="text/csscharset=utf-8" pageEncoding="utf-8" %>
<% // 从数据库或配置文件读取系统管理员设置的系统参数 %>
body { background: <%= bodyBackground %>} /* 应用参数 */
...
2、如要换肤之类,样式修改比较多,应用较多页面的情况,建议将不同样式写入不同的CSS文件,通过jsp/servlet将css的选择参数写入session或application,然后在jsp中判断进行选择
<c:if test='${not empty param.theme}'><c:set var='css' scope='session'>${param.theme}</c:set></c:if>
<link rel="stylesheet" type="text/css" href="<c:url value='/css/${session.css}.css'/>"></link>
比如你写好个页面后,传到服务器上,后来要对他进行维护、更新,更改了CSS样式的时候,在客户端有以前的CSS缓存、不清理掉,你是看不到你修改的CSS的效果的,后面加参数是用来强制刷新,让你修改的CSS能够实时同步吧