带时间戳的JSF

时间:2010-08-18 07:53:13

标签: java jsf

我有一个包含一些javascript包含的jsf页面。我想通过向其网址添加时间戳来防止缓存。可以使用“plain”jsf而不添加java代码吗?

E.g:

<script type="text/javascript"  src="file.js?ts=#{timestamp}"></script> 

2 个答案:

答案 0 :(得分:4)

另一种方法是将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的说法,这不是防止缓存的正确方法。以上仅供参考。有些人每天都需要学习新东西:)

答案 1 :(得分:3)

这不是防止缓存的正确方法。使用验证请求的URI的Filter,如果有.js扩展名或响应内容类型的text / javascript,则添加阻止缓存的标头。有关示例实现,请参阅this answer