Boa tarde gente,
Esses dias criei um tópico quase sobre esse assunto aqui e um rapaz me sugeriu usar anotações, então fui ler um pouco como elas funcionam, mas ainda não tá dando certo.
Agora consigo que a interface apareça certinho e até as linhas de quantos registros tem no banco, mas não aparece nada nessas linhas. Alguém sabe o que pode ser?
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui">
<h:head>
<title>Gerenciador de Livros</title>
<link type="text/css" rel="stylesheet" href="dot-luv/skin.css"/>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="center">
<h1>Gerenciador de Estação</h1>
<br/>
<h:form prependId="false">
<p:dataTable id="tabela" var="estacao" value="#{estacaoController.listarEstacoes}">
<p:column>
<f:facet name="header">
<h:outputText value="Estacão"/>
</f:facet>
<h:outputText value="#{estacao.nome}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Horário"/>
</f:facet>
<h:outputText value="#{estacao.data}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Pressão"/>
</f:facet>
<h:outputText value="#{estacao.pressao}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Temperatura"/>
</f:facet>
<h:outputText value="#{estacao.temperatura}"/>
</p:column>
</p:dataTable>
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
package Controller;
import Model.Estacao;
import Dao.EstacaoDao;
import java.sql.SQLException;
import javax.faces.model.DataModel;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
/**
*
* @author Munique
*/
@ManagedBean
@SessionScoped
public class EstacaoController {
private Estacao estacao;
private DataModel listaEstacoes;
public DataModel getListarEstacoes() throws SQLException {
List<Estacao> lista = new EstacaoDao().listaEstacao();
//List<Estacao> lista = new Dao.EstacaoDao().listaEstacao();
listaEstacoes = new ListDataModel(lista);
return listaEstacoes;
}
}
package Dao;
import Model.Estacao;
import Utils.ConexaoBanco;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Munique
*/
public class EstacaoDao {
public List<Estacao> listaEstacao() throws SQLException {
List<Estacao> estacoes = new ArrayList<Estacao>();
String select = "SELECT codigoestacao, descestacao, horario, pressao, temperatura FROM estacao;";
PreparedStatement stmt = ConexaoBanco.getConnection().prepareStatement(select);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Estacao estacao = new Estacao();
estacao.setCodigo(rs.getInt("codigoestacao"));
estacao.setNome(rs.getString("descestacao"));
estacao.setData(rs.getString("horario"));
estacao.setTemperatura(rs.getString("pressao"));
estacao.setPressao(rs.getString("temperatura"));
estacoes.add(estacao);
}
rs.close();
stmt.close();
return estacoes;
}
}
package Utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Munique
*/
public class ConexaoBanco {
private static final String url = "jdbc:postgresql://localhost:5432/BDEstacao";
private static final String driver = "org.postgresql.Driver";
private static final String user = "postgres";
private static final String pswd = "postgre";
public static Connection getConnection() {
try {
Class.forName(driver);
return DriverManager.getConnection(url, user, pswd);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
}
package Model;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
/**
*
* @author Munique
*/
@ManagedBean
@SessionScoped
public class Estacao {
private int codigo;
private String data;
private String nomeEstacao;
private String temperatura;
private String pressao;
public Estacao() {
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nomeEstacao;
}
public void setNome(String nome) {
this.nomeEstacao = nome;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public String getTemperatura() {
return temperatura;
}
public void setTemperatura(String temperatura) {
this.temperatura = temperatura;
}
public String getPressao() {
return pressao;
}
public void setPressao(String pressao) {
this.pressao = pressao;
}
}
Não entendo porque não aparece nada escrito na tabela.