Hola a todos.
He estado extrayendo unos datos de una tabla en mysql , sin embargo algo debo de estar haciendo mal que salen los datos de una forma incorrecta.
De esta manera estoy mostrando en un jsp
Código Java:
Ver original<table border="1">
<tr style="background-color: chocolate">
<td colspan="4">Lista de Productos</td>
</tr>
<tr style="background-color: chocolate">
<td>id</td>
<td>imagen</td>
<td>Nombre</td>
<td>Precio</td>
<td>Descripcion</td>
</tr>
<%-- Lista de todos los productos --%>
<%
ArrayList<Producto> lista = ProductoBD.obtenerProductos();
for (Producto p : lista) {
%>
<tr>
<td><%= p.getId_producto()%></td>
<td><%= p.getImagen()%></td>
<td><%= p.getNombre()%></td>
<td><%= p.getPrecio()%></td>
<td><%= p.getDescripcion()%> </td>
</tr>
<%
}
%>
Tengo una clase Producto , donde estan los atributos y sus respectivos setters y getters y esta clase que la he llamado ProductoBD que es en donde estoy haciendo las consultas a la BD . En el SP solo hago un select * from productos;
Código Java:
Ver originalpublic static synchronized ArrayList <Producto
> obtenerProductos
(){ ArrayList<Producto> listaProductos = new ArrayList<Producto>();
try{
String call
= "{CALL sp_producto_all()}"; cn = Conexion.getConexion();
cs = cn.prepareCall(call);
rs = cs.executeQuery();
while(rs.next()){
Producto p = new Producto();
p.setId_producto(rs.getInt("id_producto"));
p.setNombre(rs.getString("nombre"));
p.setPrecio(rs.getDouble("precio"));
p.setDescripcion(rs.getString("descripcion"));
p.setNombre(rs.getString("imagen"));
listaProductos.add(p);
}
Conexion.cerrarCall(cs);
Conexion.cerrarConexion(cn);
e.printStackTrace();
Conexion.cerrarCall(cs);
Conexion.cerrarConexion(cn);
e.printStackTrace();
Conexion.cerrarCall(cs);
Conexion.cerrarConexion(cn);
}
return listaProductos;
}
El resultado es este
http://es.zimagez.com/zimage/fallo.php . Si ven en la columna imagen me sale null , y en nombre me sale lo que debería salir en Imagen.
Alguien sabe a que se debe?