JSF - Básico

Colegas;
Bom Dia!

Tenho uma dúvida básica e gostaria de poder contar com o auxílio de vocês.

Tenho em uma classe Java um método que faz uma busca em meu banco:

        public void listaFunc(String vFuncCod) throws ClassNotFoundException{
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            Funcionario func = new Funcionario();
            String sqlVerFunc = "SELECT * FROM Funcionario WHERE FuncStatus = 'Ativo' AND FuncCod='"+ vFuncCod +"' ORDER BY FuncNome";
            
            try{
                Class.forName(driver);
                conn = DriverManager.getConnection(url,user,password);
                ps = conn.prepareStatement(sqlVerFunc);
               	rs = ps.executeQuery();
               
                while (rs.next()) {
                    func = new Funcionario();
                    func.setFuncCod(rs.getString("FuncCod"));
                    func.setFuncNome(rs.getString("FuncNome"));
                    func.setFuncSaldo(rs.getFloat("FuncSaldo"));
                }
                
        	conn.close();
		rs.close();
		ps.close();                
                
            } catch (SQLException ex) {
                ex.printStackTrace();
            } 
 
        }

Essa SQL retornará somente uma linha, Funcionário é um bean, minha dúvida é como colocar num h:outputText os retornos desta SQL? Gostaria de colocar num form o código, o nome e o saldo do funcionário (de acordo com a classe acima).

Antecipadamente agradeço!

Tenham uma excelente semana!

Marco Aurélio

Coloque o bean Funcionario, como atributo do seu managedBean, e então coloque no h:outputText o value = #{nomeDoSeuManagedBean.funcionario.funcCod}, e etc.

Olá Rafa!

Obrigado pela resposta!

Sem abusar de sua boa vontade, teria como descrever como fazer isso mais detalhadamente? Estou começando com JSF e ainda me perco nos afazeres.

Meu Bean está somente com os getters e setters:

public class Funcionario {

    /** Creates a new instance of funcionario */
    public Funcionario() {
    }

    /**
     * Mantém o valor da propriedade funcCod.
     */
    private String funcCod;

    /**
     * "Getter" para a propriedade funcCod.
     * @return Valor para a propriedade funcCod.
     */
    public String getFuncCod() {
        return this.funcCod;
    }

    /**
     * "Setter" para a propriedade funcCod.
     * @param funcCod Novo valor para a propriedade funcCod.
     */
    public void setFuncCod(String funcCod) {
        this.funcCod = funcCod;
    }

    /**
     * Mantém o valor da propriedade funcNome.
     */
    private String funcNome;

    /**
     * "Getter" para a propriedade funcNome.
     * @return Valor para a propriedade funcNome.
     */
    public String getFuncNome() {
        return this.funcNome;
    }

    /**
     * "Setter" para a propriedade funcNome.
     * @param funcNome Novo valor para a propriedade funcNome.
     */
    public void setFuncNome(String funcNome) {
        this.funcNome = funcNome;
    }

    /**
     * Mantém o valor da propriedade funcRg.
     */
    private String funcRg;

    /**
     * "Getter" para a propriedade funcRg.
     * @return Valor para a propriedade funcRg.
     */
    public String getFuncRg() {
        return this.funcRg;
    }

    /**
     * "Setter" para a propriedade funcRg.
     * @param funcRg Novo valor para a propriedade funcRg.
     */
    public void setFuncRg(String funcRg) {
        this.funcRg = funcRg;
    }

    /**
     * Mantém o valor da propriedade funcCpf.
     */
    private String funcCpf;

    /**
     * "Getter" para a propriedade funcCpf.
     * @return Valor para a propriedade funcCpf.
     */
    public String getFuncCpf() {
        return this.funcCpf;
    }

    /**
     * "Setter" para a propriedade funcCpf.
     * @param funcCpf Novo valor para a propriedade funcCpf.
     */
    public void setFuncCpf(String funcCpf) {
        this.funcCpf = funcCpf;
    }

    /**
     * Mantém o valor da propriedade funcCCusto.
     */
    private String funcCCusto;

    /**
     * "Getter" para a propriedade funcCCusto.
     * @return Valor para a propriedade funcCCusto.
     */
    public String getFuncCCusto() {
        return this.funcCCusto;
    }

    /**
     * "Setter" para a propriedade funcCCusto.
     * @param funcCCusto Novo valor para a propriedade funcCCusto.
     */
    public void setFuncCCusto(String funcCCusto) {
        this.funcCCusto = funcCCusto;
    }

    /**
     * Mantém o valor da propriedade funcLimite.
     */
    private String funcLimite;

    /**
     * "Getter" para a propriedade funcLimite.
     * @return Valor para a propriedade funcLimite.
     */
    public String getFuncLimite() {
        return this.funcLimite;
    }

    /**
     * "Setter" para a propriedade funcLimite.
     * @param funcLimite Novo valor para a propriedade funcLimite.
     */
    public void setFuncLimite(String funcLimite) {
        this.funcLimite = funcLimite;
    }

    /**
     * Mantém o valor da propriedade funcSaldo.
     */
    private double funcSaldo;

    /**
     * "Getter" para a propriedade funcSaldo.
     * @return Valor para a propriedade funcSaldo.
     */
    public double getFuncSaldo() {
        return this.funcSaldo;
    }

    /**
     * "Setter" para a propriedade funcSaldo.
     * @param funcSaldo Novo valor para a propriedade funcSaldo.
     */
    public void setFuncSaldo(double funcSaldo) {
        this.funcSaldo = funcSaldo;
    }

    /**
     * Mantém o valor da propriedade funcStatus.
     */
    private String funcStatus;

    /**
     * "Getter" para a propriedade funcStatus.
     * @return Valor para a propriedade funcStatus.
     */
    public String getFuncStatus() {
        return this.funcStatus;
    }

    /**
     * "Setter" para a propriedade funcStatus.
     * @param funcStatus Novo valor para a propriedade funcStatus.
     */
    public void setFuncStatus(String funcStatus) {
        this.funcStatus = funcStatus;
    }

}

Como colocar o atributo da classe?

Abraço!

Marco A.

Bem, funciona assim:

vc precisa registrar um managed Bean no faces-config.xml. Este bean não é o Funcionario, e sim um bean que irá controlar o estado da sua view (JSF).

Neste bean (managed), todos os atributos (desde que contenham getters e settes) podem ser visualizados na página, usando o h:output por exemplo.

Ou seja, vc deve criar um bean que chama o seu método que consulta no banco, e atribuir o resultado dele em um atributo deste managed bean.

Assim vc conseguirá visualizar na página.

Eu sugiro que vc leia algum livro ou procure mais informações sobre o JSF, ele é um pouco chatinho de entender, mas depois q vc entende fica simples.

Abraço