Erro - Error reading '<objeto>' on type JSF

Boa tarde,
Sou iniciante em JSF e estou me deparando com o seguinte erro:

javax.faces.FacesException: javax.el.ELException: /view/alterarsenhacartao/formulario.xhtml @31,35 rendered="#{supridoBean.exibirCPFRG}": Error reading ‘exibirCPFRG’ on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_13

Não consigo entender o que tem de errado, este tipo de erro é geralmente disparado por que?
Esse exibirCPFRG é um booleano normal, igual outras propriedades que são exibidas nesta tela. mas o erro da nesse cara.

Grato pela ajuda!

Eu boolean tá com is? Se sim, tente escrever o método com is no xhtml.

qualquer coisa, troque que is para get e tente.

Olá!
o booleano não está com is, então alterei para pegar o get. o erro gerado é esse agora:

javax.el.PropertyNotFoundException: /view/alterarsenhacartao/formulario.xhtml @31,35 rendered="#{supridoBean.getExibirCPFRG}": Property ‘getExibirCPFRG’ not found on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_7

E o get EXISTE na classe supridoBean.

??
:confused:

[quote=developer.schneider]Olá!
o booleano não está com is, então alterei para pegar o get. o erro gerado é esse agora:

javax.el.PropertyNotFoundException: /view/alterarsenhacartao/formulario.xhtml @31,35 rendered="#{supridoBean.getExibirCPFRG}": Property ‘getExibirCPFRG’ not found on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_7

E o get EXISTE na classe supridoBean.

??
:/[/quote]Com o get não precisa escrever no xhtml. Eu já vi implementação onde ele não achasse o isMetodo ou alguma coisa assim. Por isso perguntei.

Coloca o código onde o método está sendo utilizado, mas apenas ele, precisa da página toda não.


@Name("supridoBean")
@Scope(ScopeType.CONVERSATION)
public class SupridoBean extends AbstractWebBean implements Serializable {
	private Boolean exibirCPFRG = false;

	public Boolean getExibirCPFRG() {
		return exibirCPFRG;
	}

	public void setExibirCPFRG(Boolean exibirCPFRG) {
		this.exibirCPFRG = exibirCPFRG;
	}
}

Resumindo a classe, a declaração está assim. Há vários métodos internos na classe que alteram essa booleana, nao colei pq ficaria bem extenso.

E no html…


<h:commandButton id="alterar" value="Alterar"
rendered="#{supridoBean.exibirCPFRG}"
action="#{supridoBean.alterarSenhaCartao}"  style="width:130px;"
styleClass="rich-button" />

tente com is:

 public boolean isExibirCPFRG() {  
        return exibirCPFRG;  
    }  

O erro persiste.
Coloquei um @In no atributo booleano e o erro mudou:

javax.el.ELException: /view/alterarsenhacartao/pesquisar.xhtml @37,102 value="#{supridoBean.idGestor}": Error reading ‘idGestor’ on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_7

Se removo o @In volta o erro anterior… não tenho idéia do pq disso!

Substituindo por is:

javax.el.PropertyNotFoundException: /view/alterarsenhacartao/formulario.xhtml @31,35 rendered="#{supridoBean.isExibirCPFRG}": Property ‘isExibirCPFRG’ not found on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_7

Assim como não precisa do get, não precisa do is

rendered="#{supridoBean.exibirCPFRG}"

//OU

rendered="#{supridoBean.exibirCPFRG == true}"

Ambos geram o mesmo erro.

javax.servlet.ServletException: javax.el.ELException: /view/alterarsenhacartao/formulario.xhtml @31,35 rendered="#{supridoBean.exibirCPFRG == true}": Error reading ‘exibirCPFRG’ on type br.com.pdcase.suprimento.pessoa.service.SupridoBean_$$_javassist_seam_7

rendered="#{supridoBean.exibirCPFRG}"

removi isso, e agora está estourando erro em outro campo e assim por diante… não sei como arrumar :confused:

Pessoal, resumi meu html a isso:


<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:r="http://richfaces.org/rich" xmlns:a="http://richfaces.org/a4j"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:pd="http://www.pdcase.com.br/ui" template="#{template}">

	<ui:define name="csuName">
		<h:outputText value="#{messages['alterar_senha_cartao']}"
			styleClass="transacao" />
	</ui:define>

	<ui:define name="content">
			<r:panel bodyClass="pageTitle" style="border:0;">
				<h:outputText value="#{messages['alterar_senha_cartao']}"
					styleClass="transacao" />
			</r:panel>
			<h:form id="senhaCartao">

				 <a:keepAlive beanName="supridoBean" /> 

				<h:commandButton id="alterar" rendered="#{supridoBean.exibirCPFRG}" value="Alterar" style="width:130px;"
					styleClass="rich-button" />
			</h:form>
	</ui:define>
</ui:composition>

Ai no bean, eu setei como FALSE essa propriedade exibirCPFRG e o controle não foi exibido. FUNCIONOU.

Porém, quando executo alguma ação, ou método, da o erro do post.

O que isso pode ser???

Exceção no código ou o que? Eu não consigo entender o motivo deste erro… se é um erro de código ou um mapeamento faltando… como disse sou iniciantaço em JSF.

Pessoal esta tela tava muito bugada.
Criei a classe bean e a view do zero e funcionou.

Não sei qual era o problema, mas está resolvido.