2010-08-18 128 views
0

我有一個包含一些javascript包含的jsf頁面。而且我想通過爲其網址添加時間戳來防止緩存。它可以做到「純」jsf而無需添加Java代碼?帶時間戳的JSF

E.g:

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

回答

3

這是不太防止緩存的正確方法。使用Filter驗證請求的URI,如果有.js擴展名或響應content-type text/javascript,則添加阻止緩存的標頭。有關示例實現,請參閱this answer

+1

有趣。第一次看到fmt:timestamp。它在哪裏記錄?至少不[這裏](https://javaserverfaces.dev.java.net/nonav/docs/2.0/pdldocs/facelets/index.html)。 – BalusC 2010-08-18 11:33:59

+0

@BalusC嗯,它似乎是caucho特定的jstl。謝謝你的提示。 – Bozho 2010-08-18 11:48:40

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,這不是防止緩存的正確方法。以上內容僅供參考。有些人需要每天學習新東西:)