DataTable JSF
Publicado por Jaime Castillo Montes (17 intervenciones) el 29/12/2008 18:10:40
tengo un pequeño problema con un DataTable
recupero de la base de datos un java.util.List, y este List esta lleno de objetos tipo Usuario,
cuando lo pongo en el data table me lanza una excepcion, es esta:
javax.servlet.ServletException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value ' of type class java.lang.String to type interface java.util.List for managed bean usuarioVO.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
el managedbean es este:
public class UsuarioVO {
private int id;
private String nombre;
private String email;
private List <UsuarioVO>usuarios;
private int edad;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public List<UsuarioVO> getUsuarios(){
UsuarioDAO usuariodao = new UsuarioDAO();
ArrayList<UsuarioVO> usuarios = (ArrayList<UsuarioVO>) usuariodao.getUsuarios();
return usuarios;
}
public void setUsuarios(List<UsuarioVO> usuarios) {
this.usuarios = usuarios;
}
@PostConstruct
public void init(){
UsuarioDAO usuariodao = new UsuarioDAO();
this.usuarios = (ArrayList<UsuarioVO>) usuariodao.getUsuarios();
}
}
y este es el jsp:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form>
<rich:dataTable value="#{usuarioVO.usuarios}" var="usuario">
<h:column>
<h:outputText id="nombre" value="#{usuario.nombre}" />
</h:column>
<h:column>
<h:outputText id="email" value="#{usuario.email}" />
</h:column>
<h:column>
<h:outputText id="edad" value="#{usuario.edad}" />
</h:column>
</rich:dataTable>
</h:form>
</f:view>
</body>
</html>
bueno, pos el problema es que no puedo mostrar los datos de los usuarios en la tabla, si alguien me pudiera ayudar, muchas gracias
hasta pronto
recupero de la base de datos un java.util.List, y este List esta lleno de objetos tipo Usuario,
cuando lo pongo en el data table me lanza una excepcion, es esta:
javax.servlet.ServletException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value ' of type class java.lang.String to type interface java.util.List for managed bean usuarioVO.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
el managedbean es este:
public class UsuarioVO {
private int id;
private String nombre;
private String email;
private List <UsuarioVO>usuarios;
private int edad;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public List<UsuarioVO> getUsuarios(){
UsuarioDAO usuariodao = new UsuarioDAO();
ArrayList<UsuarioVO> usuarios = (ArrayList<UsuarioVO>) usuariodao.getUsuarios();
return usuarios;
}
public void setUsuarios(List<UsuarioVO> usuarios) {
this.usuarios = usuarios;
}
@PostConstruct
public void init(){
UsuarioDAO usuariodao = new UsuarioDAO();
this.usuarios = (ArrayList<UsuarioVO>) usuariodao.getUsuarios();
}
}
y este es el jsp:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<html>
<head>
<title></title>
</head>
<body>
<f:view>
<h:form>
<rich:dataTable value="#{usuarioVO.usuarios}" var="usuario">
<h:column>
<h:outputText id="nombre" value="#{usuario.nombre}" />
</h:column>
<h:column>
<h:outputText id="email" value="#{usuario.email}" />
</h:column>
<h:column>
<h:outputText id="edad" value="#{usuario.edad}" />
</h:column>
</rich:dataTable>
</h:form>
</f:view>
</body>
</html>
bueno, pos el problema es que no puedo mostrar los datos de los usuarios en la tabla, si alguien me pudiera ayudar, muchas gracias
hasta pronto
Valora esta pregunta


0