Boa tarde, estou com um problema em relação a comunicação da com a classe bean:
Apresenta o seguinte erro:
[code]type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: /mostrarProdutos.jsp(16,16) ‘#{produtosCliente.getProdutosCliente}’ Property ‘getProdutosCliente’ not found on type br.com.controle.ProdutosClienteControlller
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
root cause
org.apache.jasper.el.JspPropertyNotFoundException: /mostrarProdutos.jsp(16,16) ‘#{produtosCliente.getProdutosCliente}’ Property ‘getProdutosCliente’ not found on type br.com.controle.ProdutosClienteControlller
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:104)
javax.faces.component.UIData.getValue(UIData.java:582)
javax.faces.component.UIData.getDataModel(UIData.java:1063)
javax.faces.component.UIData.setRowIndex(UIData.java:417)
com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:85)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:788)
javax.faces.component.UIData.encodeBegin(UIData.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:884)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.[/code]
Classe Bean:
[code]////////////////////////////////////////////////////////////////////
//
//
//
//
//
//
// COMENTÁRIOS
//
//
//
////////////////////////////////////////////////////////////////////
package br.com.controle;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import br.com.bean.ProdutosCliente;
import br.com.persistencia.ProdutosClienteDAO;
public class ProdutosClienteControlller{
private ProdutosCliente produtoCliente = new ProdutosCliente();
private DataModel model;
public ProdutosCliente getProdutoCliente() {
return produtoCliente;
}
public void setProdutoCliente(ProdutosCliente produtoCliente) {
this.produtoCliente = produtoCliente;
}
public DataModel getModel() {
return model;
}
public void setModel(DataModel model) {
this.model = model;
}
public DataModel getProdutosCliente() {
//System.out.println("teste");
model = new ListDataModel(new ProdutosClienteDAO().listaDetalheProdutos());
return model;
}
}[/code]
Arquivo Faces:
[code]<?xml version="1.0" encoding="UTF-8"?>
<managed-bean>
<managed-bean-name>produtosCliente</managed-bean-name>
<managed-bean-class>br.com.controle.ProdutosClienteControlller</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>mostrar</from-outcome>
<to-view-id>/mostrarProdutos.jsp</to-view-id>
</navigation-case>
</navigation-rule>
[/code]
Arquivo jsp:
[code]<%@page contentType=“text/html” pageEncoding=“ISO-8859-1”%>
<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<h:column>
<f:facet name="header">
<h:outputText value="Vendedor"/>
</f:facet>
<h:outputText value="#{item.vendedor}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Id"/>
</f:facet>
<h:outputText value="#{item.id}"/>
</h:column>
</h:dataTable>
<h:commandLink action="#{produtosCliente.novoProduto}" value="Cadastrar novo Produto"/>
</h:form>
</f:view>
</body>
[/code]
Meu método da classe DAO retorna uma lista dos produtos. Testei o método fora do JSF e funciona normalmente.
Tentei passar sem o DataModel somente retornando uma lista de produtos também sem sucesso.
Testei também passar:
@PostConstruct
public void init() {
produtoCliente= new ProdutoCliente();
}
E na página importando a tag no jsf e a biblioteca:
xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
<a4j:keepAlive beanName="produtosCliente"/>
Minha classe Bean contém os atributos e seus métodos getters e setters.
Mais não funciona. Sempre retorna essa mensagem de erro já tentei tanto no JSF 1.2 como também com o 2.0. Algúem pode me ajudar?
Grato pela atenção.