Erro update="infosProduto" pagina xhtml

[b]Olá galera firmeza?

Estou com um erro estranho na minha pagina que antes de mudar a versão do primefaces não ocorria.

A pagina é a seguinte:
[/b]

[code]<?xml version=‘1.0’ encoding=‘UTF-8’ ?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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:p=“http://primefaces.org/ui”>
<h:head>
<title> .::Controle Produtos Supermercado::. </title>
<link type=“text/css” rel=“stylesheet” href="./estilos/primefaces-blitzer/theme.css" />
<link type=“text/css” rel=“stylesheet” href="./estilos/estilo.css" />
</h:head>
<h:body>
<p:layout fullPage=“true” styleClass=“fonte-menor”>
<p:layoutUnit position=“left” header=" - Menu - " resizable=“true” closable=“false” collapsible=“true”>
<h:form prependId=“false”>
<p:commandLink value=“Novo Produto” update=“infosProduto” oncomplete=“dialogGerProduto.show()”/>   
<p:commandLink value=" Pedido" update=“infosPedido” oncomplete=“dialogGerPedido.show()”/>

            &lt;/h:form&gt;
            
        &lt;/p:layoutUnit&gt;

        
            
        
        &lt;p:layoutUnit position="center"&gt;
            &lt;h1 align="center"&gt; Gerenciador de Produtos &lt;/h1&gt;
            &lt;hr/&gt;
            <br/>
                &lt;div align="right" style="vertical-align: bottom"&gt;
            &lt;h:form&gt;
                     <b>Usuario Conectado: </b> &lt;h:outputText value="#{supermercadoManagedBean.usuario.nome}"/&gt;&nbsp;
                     &lt;h:commandButton image="./imagens/exit.png" action="#{supermercadoManagedBean.doLogout}" alt="Sair" onclick="return confirm('Deseja realmente encerrar esta sessão?');"  /&gt;
            &lt;/h:form&gt;
              &lt;/div&gt;
            &lt;h:form prependId="false"&gt;
                &lt;p:dataTable id="tabela" var="produto" value="#{produtoManagedBean.listaProduto}" emptyMessage="Nenhum Produto Cadastrado..."&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Nome do Produto"/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText value="#{produto.nome}" /&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Quantidade do Produto"/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText value="#{produto.quantidade}"/&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Preço do Produto"/&gt;
                        &lt;/f:facet&gt;
                        &lt;h:outputText value="#{produto.preco}"/&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Alterar"/&gt;
                        &lt;/f:facet&gt;
                        &lt;p:commandButton actionListener="#{produtoManagedBean.prepararAlterarProduto(produto)}" value="Alterar" update="infosProduto" oncomplete="dialogGerProduto.show()"/&gt;
                    &lt;/p:column&gt;
                    &lt;p:column&gt;
                        &lt;f:facet name="header"&gt;
                            &lt;h:outputText value="Excluir"/&gt;
                        &lt;/f:facet&gt;
                        &lt;p:commandButton actionListener="#{produtoManagedBean.prepararExcluirProduto(produto)}"  value="Excluir" oncomplete="dialogExcluirProduto.show()"/&gt;
                    &lt;/p:column&gt;
                &lt;/p:dataTable&gt;
            &lt;/h:form&gt;
        &lt;/p:layoutUnit&gt;
    &lt;/p:layout&gt;

    &lt;p:dialog header="Cadastrar Novo Produto " widgetVar="dialogGerProduto"  resizable="false" modal="true" showEffect="slide" width="500" closable="true" styleClass="fonte-menor"&gt;
        &lt;h:form prependId="false"&gt;
            &lt;h:panelGrid id="infosProduto" columns="2" style="margin-bottom:10px"&gt;

                &lt;h:outputLabel for="produto" value="Nome do Produto:" /&gt;
                &lt;h:inputText value="#{produtoManagedBean.produto.nome}" size="30" required="true" requiredMessage="Informe o título"/&gt;

                &lt;h:outputLabel for="quantidade" value="Quantidade do Produto:" /&gt;
                &lt;h:inputText value="#{produtoManagedBean.produto.quantidade}" size="4" required="true" requiredMessage="Informe o(s) autor(es)"/&gt;

                &lt;h:outputLabel for="preco" value="Preço do Produto R$:" /&gt;
                &lt;h:inputText value="#{produtoManagedBean.produto.preco}" size="5" required="true" requiredMessage="Informe o número de páginas"/&gt;

                
                &lt;p:commandButton update="tabela" oncomplete="dialogGerProduto.hide();" actionListener="#{produtoManagedBean.adicionarProduto}" value="Inserir Produto" rendered="#{produtoManagedBean.produto.id == null}"/&gt;
                &lt;p:commandButton update="tabela" oncomplete="dialogGerProduto.hide();" actionListener="#{produtoManagedBean.alterarProduto}" value="Alterar Produto" rendered="#{produtoManagedBean.produto.id != null}"/&gt;
                &lt;p:commandButton oncomplete="dialogGerProduto.hide();" value="Cancelar" /&gt;
            &lt;/h:panelGrid&gt;
        &lt;/h:form&gt;
    &lt;/p:dialog&gt;
    
    &lt;p:dialog header=" Efetuar Pedido " widgetVar="dialogGerPedido"  resizable="false" modal="true" showEffect="slide" width="500" closable="true" styleClass="fonte-menor"&gt;
        &lt;h:form prependId="false"&gt;
            &lt;h:panelGrid id="infosPedido" columns="2" style="margin-bottom:10px"&gt;

                &lt;h:outputLabel for="pedido" value="Numero do Produto:" /&gt;
                &lt;h:inputText value="#{itempedidoManagedBean.itempedido.id_produto}" size="30" required="true" requiredMessage="Informe o numero do Produto"/&gt;

                &lt;h:outputLabel for="quantidade" value="Numero do pedido:" /&gt;
                &lt;h:inputText value="#{itempedidoManagedBean.itempedido.id_pedido}" size="4" required="true" requiredMessage="Informe o numero do Pedido"/&gt;

                &lt;h:outputLabel for="preco" value="Quantidade do Produto:" /&gt;
                &lt;h:inputText value="#{itempedidoManagedBean.itempedido.quantidade_produto}" size="5" required="true" requiredMessage="Informe a quantidade do Produto"/&gt;

                
                &lt;p:commandButton update="tabela" oncomplete="dialogGerPedido.hide();" actionListener="#{itempedidoManagedBean.adicionarpedido}" value="Fazer Pedido" rendered="#{itempedidoManagedBean.itempedido.id == null}"/&gt;
                
                &lt;p:commandButton oncomplete="dialogGerPedido.hide();" value="Cancelar" /&gt;
            &lt;/h:panelGrid&gt;
        &lt;/h:form&gt;
    &lt;/p:dialog&gt; 
    
    &lt;p:dialog header="Confirmar Exclusão" widgetVar="dialogExcluirProduto"  resizable="false" modal="true" width="400" closable="true" styleClass="fonte-menor"&gt;
        &lt;h:form prependId="false"&gt;
            &lt;h:outputText value="Confirma a exclusão do Produto?"/&gt;<br/><br/>
            &lt;p:commandButton update="tabela" oncomplete="dialogExcluirProduto.hide();" actionListener="#{produtoManagedBean.excluirProduto}" value="Sim" /&gt;
            &lt;p:commandButton oncomplete="dialogExcluirProduto.hide();" value="Não" /&gt;
        &lt;/h:form&gt;
    &lt;/p:dialog&gt;

&lt;/h:body&gt;

</html>[/code]

O erro:

Cannot find component with identifier “infosProduto” in view.
javax.faces.FacesException: Cannot find component with identifier “infosProduto” in view.
at org.primefaces.util.ComponentUtils.findClientIds(ComponentUtils.java:249)
at org.primefaces.renderkit.CoreRenderer.buildAjaxRequest(CoreRenderer.java:222)
at org.primefaces.component.commandlink.CommandLinkRenderer.encodeEnd(CommandLinkRenderer.java:69)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45)
at org.primefaces.component.layout.LayoutUnitRenderer.encodeEnd(LayoutUnitRenderer.java:51)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)

Abraços.

Cara, basta dar uma linda no erro. Você está mandando dar update no infosProduto mas esse cara ele não está localizando.

Se realmente ele existir na página tente fazer uma “navegação” como :infosProduto para “subir nível” do update.

Olá…

Pois é, eu não sei o que aconteceu, porque essa pagina eu construí faz algum tempo e sempre funcionou assim eu não mexi em absolutamente em nada.

Vou dar novamente uma verificada no codigo.

Obrigado.

Abraços.

[quote=tiago.frioli]Olá…

Pois é, eu não sei o que aconteceu, porque essa pagina eu construí faz algum tempo e sempre funcionou assim eu não mexi em absolutamente em nada.

Vou dar novamente uma verificada no codigo.

Obrigado.

Abraços.[/quote]Você mexeu sim, justamente no componente que trabalha em tudo com a página. =P
Quando vc mudar um Jar não espere que tudo funcione como sempre, apesar do Java garantir compatibilidade isso não é verdade absoluta para outros componentes/frameworks. [=

O Primefaces pode simplesmente ter mudado o modo como ele vasculha a árvore de componentes e vc vai ter q se adaptar caso queira utilizar a versão mais nova.

Boa sorte ae! [=

Quando eu disse que não mexi em nada, foi com relação ao codigo.De fato eu mudei para uma versão recente do primefaces e como falei na primeira postagem no meu “achismo” este era o problema de não funcionar a pagina.

Eu voltei para a versão antiga e voltou a funcionar.

Att.

Só uma dúvida, você chegou a testar a sugestão do jakefrog antes de voltar a versão do Prime?