Javascript 避免在jsp页面中缓存js和css文件

Javascript 避免在jsp页面中缓存js和css文件,javascript,css,jsp,caching,Javascript,Css,Jsp,Caching,我在谷歌上搜索了很多,但没有得到任何答案。为了避免缓存js和css文件,我们可以在字符串后面附加一个版本号,就像我在下面所做的那样 <script type="text/javascript" src="<c:url value='/resources/js/Invoice.js?version=1.0'/>"> </script> 但我希望使用一些随机数而不是1.0来避免缓存以下内容: <script type="text/javascr

我在谷歌上搜索了很多,但没有得到任何答案。为了避免缓存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"%>
<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>

已更新

然后,您可以从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文件必须包含以下内容:

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<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

您可以随时更改内部版本号,以便将最新代码部署到服务器


使用此选项,您可以确保在部署新版本的应用程序时,您的客户端不需要清除自己的浏览器缓存。

请在您的属性文件中使用此键值,但我不确定您的方案,这对我来说是有效的
browser.cache.disabled=true

您是否在项目中使用任何属性文件来处理本地化消息?是的,我使用的是One,您在服务器端使用的是什么技术?java Spring MVC为什么不使用
它本身?每次加载页面时,它将如何返回随机数?这不会返回随机数编号,但它将帮助您的客户端在每次部署后获得最新的更改。如果您只是想担心自己的浏览器缓存,那么您可以使用一些浏览器插件,如
清除缓存
。但上面的解决方案是为了应用程序级的目的。是的,我知道了。。。但是,在您包含
js
css
文件之前,我需要将以下代码@Ashwin Sharma放在哪里,请检查更新的答案。