JavaDabbaDoo.org -Tu comunidad Java parlante JNDI DataSource - Custom Ta.
Inicio | Cursos infosintesis.net liberados | Java EE | Rellenar una tabla a través de un JBean que accede a una BDS
Rellenar una tabla a través de un JavaBean que accede a una BDS
Paso 9: Operativa

MostrarDatosTabla - Mostrar una tabla a partir de un POJO con introspección

Ahora nos creamos una lista que puede contener cualquier tipo de objeto. en nuestro ejemplo contendrá POJOs de tipo Producto.

package paqjndids;

import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;

import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;

import java.sql.SQLException;


import paqutilidades.
TraspasoPropiedades;
import paqutilidades.TraspasoPropiedadesException;

import java.util.List;

public class MostrarDatosTabla extends SimpleTagSupport {

 public void doTag() throws JspException {
  JspWriter out = getJspContext().getOut();

  try {
    BdsJndiBean bdsJndiBean = (BdsJndiBean) getJspContext().getAttribute("bdsJndiBean",                               PageContext.SESSION_SCOPE);
    // out.println("bdsJndiBean: " + bdsJndiBean + "<br/><br/>");
    out.println("<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">");

    out.println("<tr>");
    out.println("<th>Código</th>");
    out.println("<th>Descripción</th>");
    out.println("<th>Precio</th>");
    out.println("</tr>");

    List<?> listaPojo = bdsJndiBean.obtenerDatos("paqpojos.Producto", "PRODUCTOS",
                             "coprod, descrip, precio");
    System.out.println("listaPojo: " + listaPojo);
    
for (Object pojo : ...) {
     out.println(
"<tr>");
     out.println(
"<td>" + TraspasoPropiedades....(..., "...") + "</td>");
     out.println(
"<td>" + TraspasoPropiedades....(..., "...") + "</td>");
     out.println(
"<td>" + TraspasoPropiedades....(..., "...") + "</td>");
     out.println(
"</tr>");
    
}

    out.println("</table>");

    JspFragment f = getJspBody();
    if (f != null) {
     f.invoke(out);
    }
   } catch (ClassNotFoundException cnf) {
    throw new JspException(cnf.getMessage());
   } catch (IllegalAccessException iae) {
    throw new JspException(iae.getMessage());
   } catch (InstantiationException ie) {
    throw new JspException(ie.getMessage());
   } catch (TraspasoPropiedadesException tpe) {
    throw new JspException(tpe.getMessage());
   } catch (SQLException sqle) {
    throw new JspException(sqle.getMessage());
   } catch (java.io.IOException ex) {
    throw new JspException(ex.getMessage());
  }
 }
}

La sentencia System.out.println("listaPojo: " + listaPojo); nos tiene que mostrar los objetos de tipo Producto que contine la colección

Y finalmente tenemos que escribir el código necesario para que la información contenida en los POJOs Producto se muestre en la tabla Web


Compara tu código con la solución propuesta

Página anterior
Ignasi Pérez Valls
fundador-director Infosintesis Solutions Group
asesor-formador independiente
ignasiperez[ARROBA]javadabbadoo[PUNTO]org
Junio 2009
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...