Olá, como estão as coisas!?
bom o seguinte, estou começando agora com JSF, e estou utilizando o componente DataTable do PrimeFaces porém não estou conseguindo trazer meu resultado da pesquisa nesta tabela.
Gostaria de saber se alguem poderia me ajudar a realizar a busca nesta tabela.
Quando executado apresenta o seguinte erro :
exception
javax.servlet.ServletException: /pesquisafuncionario.xhtml @33,69 value="#{funcionarioBean.lista}": Property ‘lista’ not found on type br.com.jatendimento.bean.FuncionarioBean
javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
root cause
javax.el.PropertyNotFoundException: /pesquisafuncionario.xhtml @33,69 value="#{funcionarioBean.lista}": Property ‘lista’ not found on type br.com.jatendimento.bean.FuncionarioBean
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:108)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
javax.faces.component.UIData.getValue(UIData.java:554)
javax.faces.component.UIData.getDataModel(UIData.java:1278)
javax.faces.component.UIData.getRowCount(UIData.java:339)
org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:401)
org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:164)
org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:80)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
segue o meu codigo.
desde já obrigado.
Classe model Funcionario
package br.com.jatendimento.model;
import java.util.Date;
public class Funcionario {
private int id;
private String nome;
private String email;
private Date datacadastro;
private String telefone;
private String login;
private String senha;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getDatacadastro() {
return datacadastro;
}
public void setDatacadastro(Date datacadastro) {
this.datacadastro = datacadastro;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
FuncionarioBean
package br.com.jatendimento.bean;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import br.com.jatendimento.ConnectionFactory;
import br.com.jatendimento.model.Funcionario;
public class FuncionarioBean {
Funcionario funcionario = new Funcionario();
Connection con;
public FuncionarioBean() {
con = new ConnectionFactory().getConnection();
}
public ArrayList<Funcionario> lista() throws SQLException {
PreparedStatement stmt = con
.prepareStatement("Select * from funcionario");
ResultSet rs = stmt.executeQuery();
ArrayList<Funcionario> funcionarios = new ArrayList<Funcionario>();
while (rs.next()) {
funcionario.setId(rs.getInt("idfuncionario"));
funcionario.setNome(rs.getString("nomefuncionario"));
funcionario.setEmail(rs.getString("email"));
funcionario.setDatacadastro(rs.getDate("datacadastro"));
funcionario.setTelefone(rs.getString("telefone"));
funcionario.setLogin(rs.getString("login"));
funcionario.setSenha(rs.getString("senha"));
}
rs.close();
stmt.close();
return funcionarios;
}
public Funcionario getFuncionario() {
return funcionario;
}
public void setFuncionario(Funcionario funcionario) {
this.funcionario = funcionario;
}
}
View
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
</h:head>
<body>
<center><h:form>
<p:dataTable var="car" value="#{funcionarioBean.lista}" id="lista">
<f:facet name="header">
Funcionários
</f:facet>
<p:column headerText="Código" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.id}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.id}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Nome" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.nome}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.nome}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="E-Mail" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.email}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.email}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Data de Cadastro" style="width:170px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.datacadastro}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.datacadastro}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Telefone" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.telefone}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.telefone}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Login" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.login}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.login}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Senha" style="width:150px">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{funcionarioBean.funcionario.senha}" />
</f:facet>
<f:facet name="input">
<h:inputText value="#{funcionarioBean.funcionario.senha}"
style="width:100%" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Opções">
<p:rowEditor />
</p:column>
</p:dataTable>
</h:form></center>
</body>
</html>