JSF - Testando DataTable

1 resposta
T

Pessoal,

A pedido da diretoria da minha empresa comecei a testar JSF. Por obrigação profissional estou fazendo isso, mas não gostei muito.

Tentei fazer um apresentar um componente dataTabele na minha página, mas não consegui. Abaixo seguem o método que acessa o banco de dados e o trecho em JSF:

public ListDataModel buscarTodos() throws SQLException {
		List<AgendaDB> todos = new ArrayList<AgendaDB>();
		try {
			stm = con.createStatement();
			rs = stm.executeQuery("SELECT * FROM pessoa");
			while (rs.next()) {
				todos.add(new AgendaDB(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4)));
			}
			
			rs.close();
			stm.close();
		} catch (SQLException e) {
			System.err.println ("Erro: "+e);
		}
		return new ListDataModel(todos);
	}

<h:dataTable id="tabela" value="#{AgendaDB.buscarTodos}" var="todos"> <h:column > <f:facet name="header"> <h:outputText value="Nome" /> </f:facet> <h:outputText value="#{todos.nome}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Endereço"/> </f:facet> <h:outputText value="#{todos.endereco}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Cidade"/> </f:facet> <h:outputText value="#{todos.cidade}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Telefone"/> </f:facet> <h:outputText value="#{todos.telefone}"/> </h:column> </h:dataTable>

Lembro que estou testando com o exemplo do tutorial aqui do GUJ, porém fiz alterações para expandí-lo. Não acontece nenhum erro, apenas os registros que estão na tabela do banco de dados não aparecem no dataTable, apenas o cabeçalho.

Agradeço se alguém poder me ajudar!

1 Resposta

PauloCordeiro

Thiago,

Cetifique-se que voce colocou a tag

<f:view> antes de <h:dataTable>

veja também se realmente você registrou o bean AgendaDB no arquivo faces-config.xml e por ultimo mude o nome do metodo buscarTodos() para getBuscarTodos() pois o JSF utiliza o padrao JavaBean e espera um get/set para os metodos acessadores.

Criado 31 de março de 2006
Ultima resposta 31 de mar. de 2006
Respostas 1
Participantes 2