Por favor, já fiz um post com pedido de ajuda que não surtiu efeito, então criei outro.
Estou trabalhando com Java8, banco Oracle e Primefaces
Tenho uma página index.xhtml que usa “ui:composition”. É basicamente uma tela de consulta onde passo alguns parametros para pesquisar.
Ao clicar no botão pesquisar ela mostra uma grid abaixo na mesma página com o resultado.
Nesta grid, cada resultado tem dois botões: Mostrar e Alterar.
Quando eu clico no botão Mostrar é chamada a página “view.xhtml” que mostra todos os campos do
registro escolhido.
De acordo com o status desse registro aparecem alguns botões “commandButton” na tela.
nunca aparecem todos.
Por exemplo:
O registro precisa ser aprovado ou reprovado, então aparecem só dois botões, “aprovar” e “reprovar”.
Se já foi aprovado só pode ser inativado, então aparece só um botão, “inativar” e por aí vai.
Minha manutenção é colocar mais um “commandButton” nesta tela view.xhtml por causa de um novo status.
Os botões estão dentro de um “f:facet” com nome “footer”
<f:facet name="footer">
<p:outputPanel id="pnVisualizarBotoes" layout="block" style="text-align: center">
<p:commandButton id="btAprovarCartao" rendered="#{cartaoEstacionamentoMB.isBotaoAprovarCartaoVisivel()}"
value="#{m['cartao.estacionamento.visualizar.bt.aprovar']}"
styleClass="botao" process="@this" partialSubmit="true"
action="#{cartaoEstacionamentoMB.doAprovarCartao()}"
update=":msgs :form:pnQueryResult pnVizDadosCartao pnVisualizarBotoes"
oncomplete="onCompleteAprovarCartao(xhr, status, args)" />
.... vários outros commandButtons que aparecem de acordo com status do registro escolhido.
O erro acontece justamente quando tendo acrescentar este commandButton na view.xhtml.
Endereço de onde está a página →
Error Rendering view[/pages/prefeitura/cartao/estacionamento/index.xhtml]
E o erro que aparece no meu console do Eclipse:
javax.faces.FacesException: Cannot find component with identifier “:acoesForm:dgVisualizar” referenced
from “form:tbResultadoPesquisa:0:btVisualizar”.
Cannot find component with identifier “:acoesForm:dgVisualizar” referenced from “form:tbResultadoPesquisa:0:btVisualizar”.
Explicando os nomes:
dgVisualizar: é o nome do “p:dialog” na página view.xhtml
acoesForm: é uma palavra que não sei direito o que é.
fica no update do commanButton que chama o view.xhtml:
update=“:acoesForm:dgVisualizar, :msgs”
o commandButton que chama o view.xhtml na página index.xhtml é assim:
<p:commandButton id="btVisualizar" icon="ui-icon-arrowthick-1-e"
title="#{m['cartao.estacionamento.consultar.registros.bt.visualizar']}"
partialsubmit="true" process="@this"
action="#{cartaoEstacionamentoMB.doPrepareVisualizacao(dados.idCartao)}"
update=":acoesForm:dgVisualizar, :msgs"
oncomplete="onCompletePrepareVisualizacao(xhr, status, args);">
</p:commandButton>
tbResultadoPesquisa: é o nome do “p:dataTable” que está o botão acima
btVisualizar: é o nome do botão acima.
O zero “0” em “form:tbResultadoPesquisa:0:btVisualizar” eu não entendo o que é.
O curioso e que eu altero a pagina view.xhtml e o erro acontece quando eu clico no botão de consulta
da página index.xhtml. Nem aparece a grid “p:dataTable” com o resultado da pesquisa.
Eu ainda nem chamei a página view.xhtml.
Por favor alguém consegue me ajudar?
Com certeza preciso explicar melhor a situação.
Posso mostrar com mais detalhes o código.
O erro que a aplicação faz aparecer na tela do sistema: