Pessoal, estou querendo listar os dados do meu banco, mas andei pesquisando e vi que precisa usar dataTable, entao fiz um cadastro mas nao estou conseguindo exibir os dados numa pagina, alguem pode dá uma olhada no códgo?!
o código da minha Dao onde lista os dados do banco:
obs.: no meu console os dados são mostrados.
public class FuncionarioDao {
ResultSet res ;
Funcionario funcionario = new Funcionario();
ArrayList<Funcionario> funcionarios = new ArrayList<Funcionario>();
public FuncionarioDao() {
}
public List<Funcionario> getListarTodos() throws SQLException {
Conexao conexao = Conexao.getInstance();
Connection con = conexao.getConnection();
PreparedStatement pstm = con.prepareStatement("select * from funcionario");
ResultSet rs = pstm.executeQuery();
while (rs.next()) {
funcionario.setNome(rs.getString("nome"));
funcionario.setSexo(rs.getString("sexo"));
funcionario.setCidade(rs.getString("cidade"));
funcionarios.add(funcionario);
System.out.println(funcionario.getNome()+","+funcionario.getSexo()+","+funcionario.getCidade());
}
rs.close();
pstm.close();
return funcionarios;
}
o codigo da minha pagina que deveria listar os dados do meu banco:
obs.: coloquei em value" funcionarios" porque pelo que vi colocaria em value o nome do array, entao na minha Dao criei esse array. Podem me ajudar?. Obrigado
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h:dataTable value ="#{funcionarios}" var = "func">
<h:column>
<h:outputText value="#{func.nome}"/>
</h:column>
<h:column>
<h:outputText value="#{func.sexo}"/>
</h:column>
<h:column>
<h:outputText value="#{func.cidade}"/>
</h:column>
</h:dataTable>
</body>
</html>