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