Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2010, 16:56
amass
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
Cargar datos de un bean en listbox

Hola amigos necesitando de su orientación resulta que estoy iniciandome en desarrollo jsp antes he usado j2se , tengo diferentes clases con las cuales trabajo hago mi consulta en la bd y me trae respuesta todo trabaja ok me muestra los datos perfectamente ahora lo que no se y he intentado de diferentes maneras es que ese dato que me trae en una lista yo lo pueda vincular a mi listbox o aun table pero desde codigo NO DESDE EL VISUAL PORQUE ESTOY USANDO BD EMBEBIDA Y NO ME CARGA LOS DATOS DEL VISUAL POR BING TO DATA uso netbeans con visual jsf uso las siguientes clases: de ejemplo


*
* @author amassa
*/
public class Atributos {

private String id_at;
private String codigo;
private String nombre;
private String tipo;
private String desc_atrib;
private String clase;
private String valmax;
private String valmin;
private String indicacion;
private String formato;
private String ejemplo;
private String observaciones;


public static Atributos load(ResultSet rs)throws SQLException{
Atributos ms= new Atributos();

ms.setId_at(rs.getString(1)+"");
ms.setCodigo(rs.getString(2)+"");
ms.setNombre(rs.getString(3)+"");
ms.setTipo(rs.getString(4)+"");
ms.setDesc_atrib(rs.getString(5)+"");
ms.setClase(rs.getString(6)+"");
ms.setValmax(rs.getString(7)+"");
ms.setValmin(rs.getString(8)+"");
ms.setIndicacion(rs.getString(9)+"");
ms.setFormato(rs.getString(10)+"");
ms.setEjemplo(rs.getString(11)+"");
ms.setObservaciones(rs.getString(12)+"");
return ms;

}

public String toString(){
StringBuffer sb=new StringBuffer();
sb.append(getId_at());
sb.append(",");
sb.append(getCodigo());
sb.append(",");
sb.append(getNombre());
sb.append(",");
sb.append(getTipo());
sb.append(",");
sb.append(getDesc_atrib());
sb.append(",");
sb.append(getClase());
sb.append(",");
sb.append(getValmax());
sb.append(",");
sb.append(getValmin());
sb.append(",");
sb.append(getIndicacion());
sb.append(",");
sb.append(getFormato());
sb.append(",");
sb.append(getEjemplo());
sb.append(",");
sb.append(getObservaciones());


return sb.toString();

}


public String getClase() {
return clase;
}

public void setClase(String clase) {
this.clase = clase;
}

public String getCodigo() {
return codigo;
}

public void setCodigo(String codigo) {
this.codigo = codigo;
}


public String getDesc_atrib() {
return desc_atrib;
}

public void setDesc_atrib(String desc_atrib) {
this.desc_atrib = desc_atrib;
}

public String getEjemplo() {
return ejemplo;
}

public void setEjemplo(String ejemplo) {
this.ejemplo = ejemplo;
}

public String getFormato() {
return formato;
}

public void setFormato(String formato) {
this.formato = formato;
}

public String getId_at() {
return id_at;
}

public void setId_at(String id_at) {
this.id_at = id_at;
}

public String getIndicacion() {
return indicacion;
}

public void setIndicacion(String indicacion) {
this.indicacion = indicacion;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getObservaciones() {
return observaciones;
}

public void setObservaciones(String observaciones) {
this.observaciones = observaciones;
}

public String getTipo() {
return tipo;
}

public void setTipo(String tipo) {
this.tipo = tipo;
}

public String getValmax() {
return valmax;
}

public void setValmax(String valmax) {
this.valmax = valmax;
}

public String getValmin() {
return valmin;
}

public void setValmin(String valmin) {
this.valmin = valmin;
}


}


AHORA ESTA ES LA CLASE QUE ME HACE LA CONSULTA Y DEVUELVE EN LISTA
EN ESTA TAMBIEN REALIZO LA CONEXIÓN
import java.io.*;
import java.sql.*;
import java.util.*;
//import java.text.*;
//import java.lang.Character;
import java.sql.SQLException;

public class Model implements Serializable {

//campos de configuraci�n
private transient Connection con;
private String jdbcDriver;
private String databaseURL;
private String n;
private LinkedList listarAtributo;

/****************LISTAR ATRIBUTOS************************/
public List getListaAtributo() {
return listarAtributo;
}

public void listAtributo() throws SQLException {
/* if (!isConnect()) {
throw new SQLException("sin conexión atributos");
}*/

System.out.println("Listar atributo");
this.pasacon();
PreparedStatement pst = null;
ResultSet rs = null;

try {
pst = con.prepareStatement("Select * From ATRIBUTOS");
rs = pst.executeQuery();
listarAtributo= new LinkedList();

while (rs.next()) {
listarAtributo.add(Atributos.load(rs));
}
}catch(SQLException e){System.out.println(e);}
}

}

AHORA ESTE ES EL CODIGO QUE INCLUYO EN EL JSP QUE QUEIRO VER MI RESULTADO DE CONSULTA

PAGINA JSP

<table style="left: 624px; top: 168px; position: absolute">
<tr>
<td>
<h3>Numero</h3>
</td>
</tr>
<jsp:scriptlet>
List lista;
Iterator it;
int sw = 0;
Model mo=new Model();
Atributos a=new Atributos();
try {

if (!mo.isConnect()) {
mo.setJdbcDriver("org.hsqldb.jdbcDriver");
mo.setDatabaseURL("jdbc:hsqldb:file:c:/copia/web/WEB- INF/data/mydb");
mo.connect();
}

mo.listAtributo();
lista = mo.getListaAtributo();
it = lista.iterator();

while (it.hasNext()) {
a =(Atributos)it.next();
System.out.println(a.getId_at()+ "id Atributo con");


</jsp:scriptlet>
<tr>
<td>
<jsp:expression>a.getId_at()</jsp:expression>
</td>
<jsp:scriptlet> }
}catch(SQLException ef){} </jsp:scriptlet>
</tr>
</table>

COMO LES DIJE ANTERIORMENTE ESTO LO HAGO ME FUNCIONA OK PERO YO QUIERO PODER COGER MI a.getId_at() y meterla en mi listbox

esto:

<webuijsf:listbox binding="#{Model.listaAtributo}" id="id_at" items="#{Atributos.id_at}" style="left: 600px; top: 312px; position: absolute" />

que estoy haciendo mal que debo colocar en el items al hacer esto me dice

Caused by: java.lang.IllegalArgumentException: No puedo convertir com.sun.webui.jsf.component.Listbox desde tipo class com.sun.webui.jsf.component.Listbox a interface java.util.List

Necesito alguien con mas experienci me guie GRACIAS

Última edición por amass; 29/05/2010 a las 17:19