javascript - 避免在jsp页面缓存js和css文件

标签 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/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/

相关文章:

php - 使用 htaccess 将 js/css 解析为 PHP 文件

html - 如何构建带有上一个/下一个按钮的纯 CSS3 图像 slider ?

java - <c :forEach> consider same values?

可以确定特定节点的字体大小的 HTML 解析器

java - 如何在 Tomcat 上将 Rserve 与 JSP 一起使用? (Windows 7的)

jsp - 在 JSP 中下载文件

javascript - jQuery - 改变宽度使页面跳到顶部

javascript - 获取字符串的一部分到变量中

javascript - 无法通过 JavaScript 设置 div.style.left 和 div.style.top css 属性

java - 如何在 JavaFX 中恢复按钮的 onclick 效果