JBoss не делает недействительным свой кеш страницы jsf при изменении файла xhtml - PullRequest
2 голосов
/ 25 октября 2011

JBoss JSF-страница не всегда обновляется, когда я меняю свои файлы xhtml. Например:

Template

<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, он отобразит «некоторый текст». Теперь я изменяю «некоторый текст» на «измененный текст» в разобранном пакете и перезагружаю страницу. На странице отобразится новый текст. Однако, если я изменю его еще раз, он все равно будет отображать старое значение. Проблема, кажется, приходит и уходит, но относится ко всем моим страницам, когда она действительно показывает себя. Каждая страница отражает изменения только один раз, затем она, кажется, кеширует себя и не отпускает, пока я не перезагружу приложение или не подожду несколько минут, пока кеш сам аннулируется. Это очень раздражает во время разработки.

Есть ли решение этой проблемы?

1 Ответ

0 голосов
/ 25 июня 2012

Это связано с тем, что при возникновении ошибки компиляции в формате xhtml кэш JBoss не обновляется.Ошибка, скорее всего.

...