我有一个包含一些javascript包含的jsf页面。而且我想通过为其网址添加时间戳来防止缓存。它可以做到“纯”jsf而无需添加Java代码?带时间戳的JSF
E.g:
<script type="text/javascript" src="file.js?ts=#{timestamp}"></script>
我有一个包含一些javascript包含的jsf页面。而且我想通过为其网址添加时间戳来防止缓存。它可以做到“纯”jsf而无需添加Java代码?带时间戳的JSF
E.g:
<script type="text/javascript" src="file.js?ts=#{timestamp}"></script>
这是不太防止缓存的正确方法。使用Filter
验证请求的URI,如果有.js
扩展名或响应content-type text/javascript,则添加阻止缓存的标头。有关示例实现,请参阅this answer。
另一种方法是将java.util.Date
声明为托管bean。
<managed-bean>
<managed-bean-name>date</managed-bean-name>
<managed-bean-class>java.util.Date</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
这样,您就可以使用
#{date.time}
得到时间戳。
请注意,我完全同意Bozho,这不是防止缓存的正确方法。以上内容仅供参考。有些人需要每天学习新东西:)
有趣。第一次看到fmt:timestamp。它在哪里记录?至少不[这里](https://javaserverfaces.dev.java.net/nonav/docs/2.0/pdldocs/facelets/index.html)。 – BalusC 2010-08-18 11:33:59
@BalusC嗯,它似乎是caucho特定的jstl。谢谢你的提示。 – Bozho 2010-08-18 11:48:40