Pessoal, peguei um exemplo de listagem em JSF, so que contem registro no banco de dados só que a listagem aparece em branco. segue em anexo e o meu codigo fonte.
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Cadastro</title>
</h:head>
<h:body>
<h:form>
<h:messages />
<h:dataTable value = "#{usuarioBean.lista}" var="usuario" rules="rows" cellpadding="7">
<f:facet name="caption">
teste teste teste
</f:facet>
<f:facet name="header">Listagem de usuario Cadastrados</f:facet>
<f:facet name="footer">Final da Listagem</f:facet>
<h:column>
<f:facet name="header">identificação</f:facet>
#{usuario.idusuario}
</h:column>
<h:column>
<h:commandLink action="#{usuarioBean.active}">
<h:graphicImage library="img" name="estatus_#{usuario.estatus}"></h:graphicImage>
</h:commandLink>
</h:column>
<h:column>
<h:graphicImage library="img" name="#{usuario.idioma}"></h:graphicImage>
</h:column>
<h:column>
<f:facet name="header">Nome</f:facet>
#{usuario.nome}
</h:column>
<h:column>
<f:facet name="header">E-mail</f:facet>
#{usuario.email}
</h:column>
<h:column>
<f:facet name="header">Editar</f:facet>
<h:commandLink action="#{usuarioBean.edit}">
<h:graphicImage library="img" name="edit.png" style="border:0"></h:graphicImage>
<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}"></f:setPropertyActionListener>
</h:commandLink>
</h:column>
<h:column>
<h:commandLink action="#{usuarioBean.delete}">
<h:graphicImage library="img" name="delete.png" style="border:0"></h:graphicImage>
<f:setPropertyActionListener target="#{usuarioBean.usuario}" value="#{usuario}"></f:setPropertyActionListener>
</h:commandLink>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>
package bean;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import dao.UsuarioRN;
import banco.BancoDeClientes;
import modelo.Usuario;
@ManagedBean(name = "usuarioBean")
@RequestScoped
public class UsuarioBean {
private Usuario usuario = new Usuario();
BancoDeClientes bdc = new BancoDeClientes();
private String confirmarsenha;
private List<Usuario> lista;
public String salvar(){
FacesContext context = FacesContext.getCurrentInstance();
String senha = usuario.getSenha();
if (! senha.equals(confirmarsenha)){
FacesMessage facesMessage = new FacesMessage("Confirmar");
context.addMessage(null, facesMessage);
return null;
}
bdc.salvaruser(usuario);
return "UsuarioCadastrado";
}
public List<Usuario> getLista(){
if (lista == null) {
UsuarioRN usuarioRN = new UsuarioRN();
lista = usuarioRN.listar();
}
return lista;
}
}
package dao;
import java.util.List;
import modelo.Usuario;
public class UsuarioRN {
private UsuarioDAO usuarioDAO;
public List<Usuario> listar() {
return usuarioDAO.listar();
}
}
package dao;
import java.util.List;
import modelo.Usuario;
public interface UsuarioDAO {
public List<Usuario> listar();
}
você esqueceu de passar
como que você está obtendo a lista
e outra teste isso dentro desse método
[code]public List getLista(){
if (lista == null) {
UsuarioRN usuarioRN = new UsuarioRN();
lista = usuarioRN.listar();
System.out.println("Tamanho da lista : " + lista.size());
}
return lista;
} [/code]
se o valor for nulo é pq não tem erro na view e sim la no dao
que não esta trazendo nada
Pessoal,
esta dando o erro abaixo
RAVE: Error Rendering View[/listagem.xhtml]
javax.el.ELException: /listagem.xhtml @13,97 value="#{usuarioBean.lista}": Error reading ‘lista’ on type bean.UsuarioBean
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIData.getValue(UIData.java:731)
at javax.faces.component.UIData.getDataModel(UIData.java:1798)
at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:484)
at javax.faces.component.UIData.setRowIndex(UIData.java:473)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:81)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
at javax.faces.component.UIData.encodeBegin(UIData.java:1118)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1754)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at dao.UsuarioRN.listar(UsuarioRN.java:13)
at bean.UsuarioBean.getLista(UsuarioBean.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
… 38 more
02/10/2012 15:56:23 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/PrimeJSFcomHibernate] threw exception [null] with root cause
java.lang.NullPointerException
at dao.UsuarioRN.listar(UsuarioRN.java:13)
at bean.UsuarioBean.getLista(UsuarioBean.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIData.getValue(UIData.java:731)
at javax.faces.component.UIData.getDataModel(UIData.java:1798)
at javax.faces.component.UIData.setRowIndexWithoutRowStatePreserved(UIData.java:484)
at javax.faces.component.UIData.setRowIndex(UIData.java:473)
at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:81)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
at javax.faces.component.UIData.encodeBegin(UIData.java:1118)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1754)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Vc tem alguma classe DAOHibernate?
tenho esta classe aqui
package banco;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory sessionFactory;
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
AnnotationConfiguration cfg = new AnnotationConfiguration();
Configuration config = cfg.configure("hibernate.cfg.xml");
sessionFactory = config.buildSessionFactory();
}
return sessionFactory;
}
public static Session getSession() {
Session sessao = getSessionFactory().openSession();
return sessao;
}
}
Essa não, outra por nome de UsuarioDAOHibernate, ele implementa sua interface UsuarioDAO.
public class UsuarioDAOHibernate implements UsuarioDAO
posta ai como está organizado a estrutura de seu projeto.
Pessoal, a estrutura do meu projeto esta no anexo.
desconsidere os pacotes BR e ORG.
package dao;
import java.util.List;
import modelo.Usuario;
public interface UsuarioDAO {
public List<Usuario> listar();
}

Na sua classe UsuarioRN, usuarioDAO não está instanciado.
Pessoal, minha lista esta nulla…conforme a imagem…abaixo.
como resolver isso ?
tentei fazer isso, mas esta dando o seguinte erro : CONNOT INSTANTIATE THE TYPE USUARIODAO
public class UsuarioRN {
//private UsuarioDAO usuarioDAO;
UsuarioDAO usuariodao = new UsuarioDAO();
public List<Usuario> listar() {
return usuarioDAO.listar();
}
}
package dao;
import java.util.List;
import modelo.Usuario;
public interface UsuarioDAO {
public List<Usuario> listar();
}
Pessoal, resolvi dessa forma
public List<Usuario> listar() {
Session session = HibernateUtil.getSession();
Query q = session.createQuery("FROM Usuario");
return q.list();
}