2011-10-25 23 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缓存似乎没有更新。最有可能的错误。