Olá pessoal ...
Estou iniciando o uso de richfaces com JSF Facelets rodando no Jboss 5 ... E tenho uma aplicação bem simples, na qual tenho um formulário com alguns campos. Submetido esse formulário uma outra área da mesma Página sobre um reRender.
O que acontece é que na execução da aplicação o Jboss me dá um WARNING:
WARN [component] facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE is set to 'true' but facelets.BUILD_BEFORE_RESTORE is set to 'false' or unset. To use facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE you must also set facelets.BUILD_BEFORE_RESTORE to 'true'!
Sem problema... Identifiquei o que preciso acrescentar no arquivo web.xml, mas quando acrescento essas propriedades. O reRender não funciona mais, tenho que clicar duas vezes sobre o botão ou link para exibir as informações.
Alguém já passou por isso que poderia me ajudar ?
index.xhtml<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<head>
<link href="/resources/css/default.css" rel="stylesheet" type="text/css" />
<link href="/resources/css/cssLayout.css" rel="stylesheet" type="text/css" />
<link href="/resources/css/style.css" rel="stylesheet" type="text/css" media="screen" />
<title>Pesquisa</title>
</head>
<body>
<f:view>
<ui:composition template="templates/pesquisa.xhtml">
<ui:define name="top">
<ui:decorate template="templates/form.xhtml">
<a4j:form id="formPesquisa" ajaxSubmit="true">
<ui:decorate template="templates/campo.xhtml">
<ui:define name="nome"><h:outputText value="Texto:" /></ui:define>
<h:inputText styleClass="texto" value="#{indexBean.texto}" size="50"></h:inputText>
</ui:decorate>
<ui:decorate template="templates/campo.xhtml">
<ui:define name="nome"><h:outputText value="Caderno:" /></ui:define>
<h:selectOneMenu value="#{indexBean.diario}">
<f:selectItem itemValue="TD" itemLabel="Todos" />
<f:selectItem itemValue="EX" itemLabel="Automotor" />
<f:selectItem itemValue="JU" itemLabel="Hidroviario" />
</h:selectOneMenu>
</ui:decorate>
<ui:decorate template="templates/campo.xhtml">
<ui:define name="nome"><h:outputText value="De:" /></ui:define>
<a4j:outputPanel id="calendarDe" layout="block">
<rich:calendar value="#{indexBean.de}"
locale="#{calendarBean.locale}"
popup="#{calendarBean.popup}"
datePattern="#{calendarBean.pattern}"
showApplyButton="#{calendarBean.showApply}" cellWidth="24px" cellHeight="22px" style="width:200px"/>
</a4j:outputPanel>
</ui:decorate>
<ui:decorate template="templates/campo.xhtml">
<ui:define name="nome"><h:outputText value="Até:" /></ui:define>
<a4j:outputPanel id="calendarAte" layout="block">
<rich:calendar value="#{indexBean.ate}"
locale="#{calendarBean.locale}"
popup="#{calendarBean.popup}"
datePattern="#{calendarBean.pattern}"
showApplyButton="#{calendarBean.showApply}" cellWidth="24px" cellHeight="22px" style="width:200px"/>
</a4j:outputPanel>
</ui:decorate>
<ui:decorate template="templates/botoes.xhtml">
<a4j:commandButton id="btPesquisar" action="#{indexBean.pesquisar}" value="Pesquisar" reRender="painelConteudo" status="indicator" />
<a4j:status id="indicator">
<f:facet name="start">
<h:graphicImage value="imagens/indicator.gif"/>
</f:facet>
</a4j:status>
</ui:decorate>
</a4j:form>
</ui:decorate>
</ui:define>
<ui:define name="content">
<a4j:outputPanel id="painelConteudo" ajaxRendered="true">
<c:if test="#{indexBean.tempoPesquisa != 0}" var="0" >
<a4j:form id="Paginacao" ajaxSubmit="true">
<c:forEach begin="1" end="#{indexBean.paginador.totalPages}" step="1" var="numPage">
<a4j:commandLink action="#{indexBean.paginador.acessaPagina}" value=" #{numPage} ">
<a4j:actionparam value="#{numPage}" assignTo="#{indexBean.paginador.pageAtual}" />
<a4j:support event="onclick" reRender="painelConteudo" />
</a4j:commandLink>
</c:forEach>
<div class="estatistica_pesquisa">
<h:outputText value="Foram localizadas ocorrências de sua pesquisa em " />
<h:outputText value="#{indexBean.qtdDocumentos}" />
<h:outputText value=" documentos." />
</div>
<div class="qResultado">
<a4j:log name="log" />
<a4j:outputPanel id="painelResultado" ajaxRendered="true">
<c:if test="#{indexBean.qtdDocumentos != 0}" >
<c:forEach items="#{indexBean.todosResultados}" begin="#{indexBean.paginador.itemInicial}" end="#{indexBean.paginador.itemFinal}" step="1" var="item">
<ui:decorate template="templates/resultado.xhtml">
<ui:define name="titulo"><h:outputLink target="_blank" value="#{item.path}">#{item.titulo}</h:outputLink></ui:define>
<ui:define name="diario">
<h:outputText value="Caderno: "></h:outputText>
<h:outputText value="#{item.diario}"></h:outputText>
</ui:define>
<c:if test="#{item.fragmentos.length != 0}" >
<ui:define name="fragmento">
<h:outputFormat escape="false" value="#{item.fragmentos}"></h:outputFormat>
<h:outputText value="..."></h:outputText>
</ui:define>
</c:if>
</ui:decorate>
</c:forEach>
</c:if>
</a4j:outputPanel>
</div>
</a4j:form>
</c:if>
</a4j:outputPanel>
</ui:define>
</ui:composition>
</f:view>
</body>
</html>