2011-10-25 24 views
2

當我更改我的xhtml文件時,JBoss JSF頁面緩存並不總是被更新。例如:JBoss不會在xhtml文件更改時使其jsf頁面緩存失效

模板

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:p="http://primefaces.prime.com.tr/ui" 
    xmlns:f="http://java.sun.com/jsf/core"> 
<f:view contentType="text/html"> 
    <h:head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
     <meta http-equiv="pragma" content="no-cache"/> 
     <meta http-equiv="cache-control" content="no-cache"/> 
     <meta http-equiv="cache-control" content="must-revalidate"/> 
     <meta http-equiv="expires" content="-1"/> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
    </h:head> 
    <h:body> 
     <ui:insert name="body"/> 
    </h:body> 
</f:view> 
</html> 

MyPage.xhtml

<ui:composition template="template.xhtml"> 
    <ui:define name="body">  
     <h:outputText value="Some text"/> 
    </ui:define> 
</ui:composition> 

如果我現在加載MyPage.jsf,它會顯示 「一些文本」。現在我在爆炸包中將「一些文本」更改爲「更改文本」並重新加載頁面。該頁面將顯示新文本。但是,如果我再次更改它,它仍會顯示舊值。這個問題似乎來來去去,但是當它顯示出來的時候,它就適用於我的所有頁面。每個頁面只反映更改一次,然後它似乎緩存自己,並不會放手,直到我重新加載應用程序或等待幾分鐘緩存使其自身失效。這在開發過程中非常煩人。

有沒有解決這個問題的方法?

+0

我有同樣的問題。你有沒有找到解決方案? – Kiva

+0

不是一個具體的解決方案,但是自從我切換IDE以來,問題已經消失,所以它可能與此有關。我以前使用Netbeans並從IDE運行服務器。現在我用一個看起來很好的ant腳本更新資源。這可能是一個時間戳問題。 –

回答

0

這似乎與xhtml編譯錯誤發生時相關,JBoss緩存似乎沒有更新。最有可能的錯誤。