Lista no JSF

8 respostas
edvaldo.santiago

Boa tarde pessoal do GUJ…
Estou com um problema na hora de fazer uma lista com t:dataTable.
Tenho vector retornado de um EJB e preciso gerar uma lista na página… mais está me retornando o seguinte erro…

<blockquote>javax.faces.el.PropertyNotFoundException: Bean: com.vf.bvf.respautomatica.data.VMotivoRecusa, property: CdMotivoRecusa

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:445)

at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:416)

at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:379)

at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:71)

at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:532)

at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)

at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:378)

at javax.faces.component.UIOutput.getValue(UIOutput.java:75)</blockquote>

Valeu pessoal muito obrigado… :slight_smile:

8 Respostas

A

Existe algum metodo getCdMotivoRecusa() e atributo cdMotivoRecusa na sua classe VMotivoRecusa ?

Fora isso, teria como voce mostrar o codigo datatable do jsf que esta gerando esse erro ?

Insonia

Edvaldo,
nunca usei dataTable com Vector… sempre com ArrayList.

Esse erro PARECE ser por que o componente nao encontrou no Bean VMotivoRecusa o metodo getCdMotivoRecusa.

Veja se o metodo existe e se eh acessivel (public).

Espero ter ajudado

P

Tambem acho que dataTable nao aceita Vector…

List e ResultSet eu sei que aceita.

edvaldo.santiago

Então pessoal
Vou mostrar o MB e o JSF

MB

public class RespAutomaticaBean {
	
	public List recusas;
	public VMotivoRecusa vMotivoRecusa;
	
	private static final String LISTA_SUCESSO ="lista_sucesso";
	private static final String LISTA_FALHA = "lista_falha";
	
	ParamHelper param = new ParamHelper();
	
	public String listaRecusa(){	
		recusas = new ArrayList();
		try {
			recusas = param.consultaMotivoRecusa();
		} catch (cException e) {
			e.printStackTrace();
		}		
		return LISTA_SUCESSO;
	}

	public List getRecusas() {
		return recusas;
	}

	public void setRecusas(Vector recusas) {
		this.recusas = recusas;
	}

	public VMotivoRecusa getVMotivoRecusa() {
		return vMotivoRecusa;
	}

	public void setVMotivoRecusa(VMotivoRecusa motivoRecusa) {
		vMotivoRecusa = motivoRecusa;
	}	
}
Agora o JSF/JSP
&lt;t:dataTable id="listas"
			 value="#{respMB.recusas}"
			 var="itens" preserveDataModel="true"
			 styleClass="teste" border="1" cellpadding="0" cellspacing="0"&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
					&lt;h:outputText value="Nome" /&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{itens.CdMotivoRecusa}"/&gt;
			&lt;/h:column&gt;
	
		&lt;/t:dataTable&gt;

Então pessoal continua com o mesmo problema...

Valeu pela atenção.

edvaldo.santiago

Então pessoal
Vou mostrar o MB e o JSF

MB

public class RespAutomaticaBean {
	
	public List recusas;
	public VMotivoRecusa vMotivoRecusa;
	
	private static final String LISTA_SUCESSO ="lista_sucesso";
	private static final String LISTA_FALHA = "lista_falha";
	
	ParamHelper param = new ParamHelper();
	
	public String listaRecusa(){	
		recusas = new ArrayList();
		try {
			recusas = param.consultaMotivoRecusa();
		} catch (cException e) {
			e.printStackTrace();
		}		
		return LISTA_SUCESSO;
	}

	public List getRecusas() {
		return recusas;
	}

	public void setRecusas(Vector recusas) {
		this.recusas = recusas;
	}

	public VMotivoRecusa getVMotivoRecusa() {
		return vMotivoRecusa;
	}

	public void setVMotivoRecusa(VMotivoRecusa motivoRecusa) {
		vMotivoRecusa = motivoRecusa;
	}	
}
Agora o JSF/JSP
&lt;t:dataTable id="listas"
			 value="#{respMB.recusas}"
			 var="itens" preserveDataModel="true"
			 styleClass="teste" border="1" cellpadding="0" cellspacing="0"&gt;
			&lt;h:column&gt;
				&lt;f:facet name="header"&gt;
					&lt;h:outputText value="Nome" /&gt;
				&lt;/f:facet&gt;
				&lt;h:outputText value="#{itens.CdMotivoRecusa}"/&gt;
			&lt;/h:column&gt;
	
		&lt;/t:dataTable&gt;

Então pessoal continua com o mesmo problema...

Valeu pela atenção.

edvaldo.santiago

Então pessoal continua com o mesmo erro.

P

Parece que o problema em si está na classe:

VMotivoRecusa

Cola ela aqui e cola tambem seu faces-config.xml.

edvaldo.santiago

Pessoal…
Muito obrigado pela atenção…
Descobri o problema…
Era os nomes dos Atributos que estavam começando com letra maiuscula.

Valeu pessoal … muito obrigado pela atenção. :slight_smile: :smiley:

Criado 16 de novembro de 2006
Ultima resposta 19 de nov. de 2006
Respostas 8
Participantes 4