Exemplo do Bean (teste.java):
package servlets;
import java.sql.*;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
public class teste
{
private Connection conn = null; // handle de conexão com o database
private String stmt = null; // definição de query de execução
private PreparedStatement pstmt = null; // preparação da query de execução
private ResultSet rs = null; // resultset da query
dbconn jconn = new dbconn();
public void open() throws SQLException {
conn = jconn.getConn();
}
public Result getAll() throws SQLException{
try{
open();
//---monta comando sql
stmt = "SELECT * FROM cadastro";
//---prepara comando
pstmt = conn.prepareStatement(stmt);
//---executa comando
rs = pstmt.executeQuery();
return ResultSupport.toResult(rs);
}
finally{
close();
}
}
public void close() throws SQLException{
if(conn==null){
return;
}
conn.close();
conn=null;
}
}
Agora o exemplo do JSP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<link href='estil.css' rel='stylesheet' type='text/css' />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta>
<title>
visual
</title>
</head>
<body>
<h:form>
<div style="overflow:auto; width=50%; heigth=200px">
<h:dataTable value="#{teste.all}" var="cadastro"
styleClass="tabla" headerClass="cabecera"
columnClasses="primera_col,segunda_col">
<h:column>
<f:facet name="header">
<h:outputText value="Codigo" />
</f:facet>
<h:outputText value="#{cadastro.codigo_cliente}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{cadastro.Nome_Cliente}" />
</h:column>
</h:dataTable>
</div>
</h:form>
</body>
</html>
</f:view>
SEGUNDO EXEMPLO:
Arquivo java para referenciar o Array:
package servlets;
public class Usuario{
private String nome;
private String email;
public String getNome(){
return nome;
}
public String getEmail(){
return email;
}
public Usuario(String nome, String email){
this.nome=nome;
this.email=email;
}
}
JavaBean para instanciar no faces-config.xml
package servlets;
import java.util.*;
public class TesteManaged{
public List getUsuarios(){
ArrayList us = new ArrayList();
us.add(new Usuario("rodrigo","noEmail"));
us.add(new Usuario("Urubatan","noEmailTambem"));
return us;
}
}
Arquivo JSP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<link href='estil.css' rel='stylesheet' type='text/css' />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></meta>
<title>
visual
</title>
</head>
<body>
<h:form>
<div style="overflow:auto; width=50%; heigth=200px">
<h:dataTable var="u" value="#{TesteManaged.usuarios}">
<h:column>
<h:outputText value="#{u.nome}"/>
</h:column>
<h:column>
<h:outputText value="#{u.email}"/>
</h:column>
</h:dataTable>
</div>
</h:form>
</body>
</html>
</f:view>
Qualquer um dos exemplos funciona perfeitamente…graças a colaboração do fera: urubatan - aqui do GUJ.
Valeu!