Ola pessoal, minha aplicação estava funcionando perfeitamente, mas para tentar resolver o problema de um bug do dataTable tentei migrar o primefaces de 3.2 para 3.4 e agora ta dando o seguinte erro: O JSF estará indisponível para criar o bean gerenciado dadosPessoaisBean quando ele for solicitado. Os seguintes problemas foram encontrados:
- O bean ou a classe da propriedade br.com.beans.DadosPessoaisBean do bean gerenciado dadosPessoaisBean não pôde ser encontrada. E isso ta acontecendo com qualquer bean. quando utilizo o primefaces 3.2 tudo funciona perfeitamente para o jsf estou usando o mojarra 2.0.1 o jsf 2.0 propriamente dito não sei o que fazer, alguém ja passou pela mesma situação. Agradeço a atenção de todos.
Primefaces é o componente que mais vejo dar pau ao mudar de versão.
Não é simples e nem é fácil. Vão estourar diversos erros que antes não aconteciam.
Uma coisa a se verificar é se a versão do Mojarra não está defasada, isso pode acarretar erros.
Outra coisa que pode ajudar é definir o nível produção de código para desenvolvimento, assim ele irá mostrar mais claramente as mensagens de erro.
Aqui mostra como fazer: JSF Mini Livro - Dicas, conceitos e boas práticas (página 11)
Bom eu estava usando o jsf 2.0 fiz um teste com o 2.1.14 o último estável lançado até então. Ainda continua dando o mesmo erro. Muito estranho isso.
[quote=nakhan]Bom eu estava usando o jsf 2.0 fiz um teste com o 2.1.14 o último estável lançado até então. Ainda continua dando o mesmo erro. Muito estranho isso.[/quote]Isso não é estranho quando se fala de primefaces.
Eles arrancam métodos, adicionam métodos novos, passam a ignorar parâmetros.
Se tratando de Primefaces, isso é normal.
Você vai ter que debugar cada tela até achar qual componente está tando erro.
Opa! consegui resolver! Verifiquei todos os passos que fiz acabei checando no view problems e na verdade o que aconteceu foi que o tava dando conflito do primerfaces 3.2 com o primefaces 3.4 ou seja fui no meu projeto e em propriedades na aba librares ainda tinha o primefaces antigo lá ou seja, mesmo eu excluindo ele do meu projeto ele continuava por lá dando um pau danado o sistema, pois o mesmo tava tentando usar os dois ao mesmo tempo por esta setado na librares, resultado, pau no sistema, removi ele de lá e tudo voltou a funcionar, mas mesmo assim não resolveu o meu bug com a tabela que faz a lista mas não seleciona a linha que quero. agora é outra briga, eita nóis, aproveitei e atualizeio o mojarra tb.
Posta seu xhmtl onde encontra-se seu dataTable.
<h:head>
</h:head>
<h:body >
<h:form id="form">
<p:growl id="messages" showDetail="true"/>
<p:layout style="min-width:250px;min-height:150px; width:980px;height:50px" id="layout">
<p:layoutUnit header="-------------" position="center" resizable="true" size="40" minSize="40" maxSize="300">
<p:row>
<ui:include src="/menu.xhtml"/>
</p:row>
<script language="javascript" src="../scritps/monetario.js"></script>
<p:panelGrid columns="3" >
<h:outputText value="Funcionário:"/>
<p:autoComplete id="acMaxResults" maxResults="5"
value="#{dependentesBean.dadosPessoais.nomeCompleto}"
completeMethod="#{dependentesBean.consultarNome}" size="50"/>
<p:commandButton value="ok" icon="ui-icon-check" id="submit" actionListener="#{dependentesBean.listaDepFuncionario}" update=":form:tabela" />
</p:panelGrid>
<p:growl id="growl" showDetail="true"/>
<p:dialog id="dialog" header="Dependentes" widgetVar="carDialog" resizable="false"
width="200" showEffect="clip" hideEffect="fold">
<h:panelGrid id="display" columns="2" cellpadding="4">
<h:outputText value="Nome:" />
<h:outputText value="#{dependentesBean.dependentes.nomeDependente}" />
</h:panelGrid>
</p:dialog>
</p:layoutUnit>
</p:layout>
<p:dataTable id="tabela" var="dep" value="#{dependentesBean.dependentesLista}">
<f:facet name="header">
Clique em uma seleção para alterar dados
</f:facet>
<p:column headerText="Código">
#{dep.idDependentes}
</p:column>
<p:column headerText="Nome">
#{dep.nomeDependente}
</p:column>
<p:column headerText="Nacimento">
#{dep.dataNacimento}
</p:column>
<p:column headerText="Dep. IRPF">
#{dep.depIRPF}
</p:column>
<p:column headerText="Parentesco">
#{dep.grauParentesco}
</p:column>
<p:column headerText="Sal. Família">
#{dep.salariofamilia}
</p:column>
<p:column style="width:4%">
<p:commandButton id="selectButton" value="Alterar" update=":form:dialog" oncomplete="carDialog.show()" icon="ui-icon-search" title="View">
<f:setPropertyActionListener value="#{dep}" target="#{dependentesBean.dependentes}" />
</p:commandButton>
</p:column>
</p:dataTable>
</h:form>
</h:body>
Quando clico no botão alterar era pelo menos para acionar o dependentesBean.dependentes mas não acontece nada
Para selecionar uma linha vc deve iadicionar três atributos como abaixo no seu p:dataTable
<p:dataTable id="tabela" var="dep" value="#{dependentesBean.dependentesLista}"
rowKey="#{dep.idDependentes}" selection="#{dependentesBean.dep}" selectionMode="single">
Coloquei esses códigos que me falou e o dataTable não ta nem listando os dados mais. eu queria saber pq o sePropertyActionListener não ta mandando o valor a linha
Qual o erro que aparece quando vc executa?
Uma Observação: me bean ta como request no faces-config talvez funcine até como view mas quando coloco view ou session fica dando exempo: quando coloco view fica dado erro tipo esse: SEVERE: Error Rendering View[/consultas/Dependentes.xhtml]
java.io.NotSerializableException: com.sun.faces.context.FacesContextImpl
Agora já como request não da erro nenhum mas também não faz nada. a tabela monta a lista perfeitamente ja quando clico em alterar não acontece nada nem pelo menos o método ele chama.
Cara na boa, seu codigo esta uma bagunça, quanto for posta-lo usa a tag code do editor do GUJ para formata-lo, dei uma organizada da um Ctrl C + Ctrl V e ver se funciona.
[code]
<h:head>
</h:head>
<h:body >
<h:form id=“form”>
<p:growl id=“messages” showDetail=“true”/>
<p:layout style=“min-width:250px;min-height:150px; width:980px;height:50px” id=“layout”>
<p:layoutUnit header="-------------" position=“center” resizable=“true” size=“40” minSize=“40” maxSize=“300”>
<p:row>
<ui:include src="/menu.xhtml"/>
</p:row>
<p:panelGrid columns=“3” >
<h:outputText value=“Funcionário:”/>
<p:autoComplete id=“acMaxResults” maxResults=“5”
value="#{dependentesBean.dadosPessoais.nomeCompleto}"
completeMethod="#{dependentesBean.consultarNome}" size=“50”/>
<p:commandButton value=“ok” icon=“ui-icon-check” id=“submit” actionListener="#{dependentesBean.listaDepFuncionario}" update=":form:tabela" />
</p:panelGrid>
</p:layoutUnit>
</p:layout>
<p:dataTable id=“tabela” var=“dep” value="#{dependentesBean.dependentesLista}">
<f:facet name=“header”>
Clique em uma seleção para alterar dados
</f:facet>
<p:column headerText=“Código”>
#{dep.idDependentes}
</p:column>
<p:column headerText=“Nome”>
#{dep.nomeDependente}
</p:column>
<p:column headerText=“Nacimento”>
#{dep.dataNacimento}
</p:column>
<p:column headerText=“Dep. IRPF”>
#{dep.depIRPF}
</p:column>
<p:column headerText=“Parentesco”>
#{dep.grauParentesco}
</p:column>
<p:column headerText=“Sal. Família”>
#{dep.salariofamilia}
</p:column>
<p:column style=“width:4%”>
<p:commandButton id=“selectButton” value=“Alterar” update=":form:dialog" oncomplete=“carDialog.show()” icon=“ui-icon-search” title=“View”>
<f:setPropertyActionListener value="#{dep}" target="#{dependentesBean.dependentes}" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:growl id=“growl” showDetail=“true”/>
<p:dialog id=“dialog” header=“Dependentes” widgetVar=“carDialog” resizable=“false”
width=“200” showEffect=“clip” hideEffect=“fold”>
<h:panelGrid id=“display” columns=“2” cellpadding=“4”>
<h:outputText value=“Nome:” />
<h:outputText value="#{dependentesBean.dependentes.nomeDependente}" />
</h:panelGrid>
</p:dialog>
</h:form>
</h:body>
</html[/code]
Rs. Desculpa a bagunça… Bom não deu certo to achando que só vai funcionar mesmo com escopo de view então to tentando resolver aquele erro que postei, não sei o porque mas ta dando ele.