我在谷歌上搜索了很多,但没有得到任何相同的答案。为了避免缓存 js 和 css 文件,我们可以在字符串后附加一个版本号,就像我在下面所做的那样。
<script type="text/javascript"
src="<c:url value='/resources/js/Invoice.js?version=1.0'/>">
</script>
但我希望使用一些随机数而不是 1.0 来避免缓存类似这样的内容:
<script type="text/javascript"
src="<c:url value='/resources/js/Invoice.js?version=<%=Math.random()%>' />">
</script>
但它根本不起作用。请帮帮我
最佳答案
对于存储内部版本号,我认为属性文件是最好的地方。对于您的问题,您可以使用可以像这样包含的 Spring 标记库获取此内部版本号,
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
已更新
然后您可以从在 ApplicationServlet.xml 中配置的属性文件中获取内部版本号,最后可以按如下方式使用内部版本号,
<spring:message code="buildNumber" var="buildNumber" />
<link rel="stylesheet" href="<c:url value="/resources/css/custom/select2.css?${buildNumber}"/>" type="text/css" />
您的 applicationServlet-servlet.xml 文件必须包含如下内容,
<beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<beans:property name="basenames">
<beans:list>
<beans:value>buildNumber</beans:value>
<beans:value>gui</beans:value>
<beans:value>message</beans:value>
</beans:list>
</beans:property>
</beans:bean>
在这里,您可以将内部版本号存储在名为 buildNumber.properties 的单独属性文件中,并具有这样的条目,buildNumber=601
。
您可以随时更改内部版本号以将最新代码部署到服务器。
有了这个,您可以确保您的客户不需要在部署新版本的应用程序时清除自己的浏览器缓存。
关于javascript - 避免在jsp页面缓存js和css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40149469/