Fórum Dúvida quando a pagina addVenda #9749

30/09/2009

0

Professor Dyego de acordo com sua aula 9 de "Desenvolvendo uma aplicação com JSF" estou criando a pagina de addVendas tem um momento que você lista os produtos ate ai tudo bem!
"<h:selectOneMenu value="#{VendasFaces.selectedVendas.idProduto}">
                <f:selectItems value="#{VendasFaces.produto}"/>
 </h:selectOneMenu>"

       


porém na hora de lista os vendedores não consegui!
"<h:selectOneMenu value="#{VendasFaces.selectedVendas.vendedor}">
       <f:selectItems value="#{VendasFaces.vendedores}"/>
</h:selectOneMenu>"

     


ManageBean VendasFaces
public class VendasFaces {
    private VendasDao vendasDao = new VendasDao();
    private LoginDao loginDao = new LoginDao();
    private ProdutoDao prodDao = new ProdutoDao();
    private Vendas selectedVendas;
    private List vendas;

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

    public String startAddNewVendas(){
        selectedVendas = new Vendas();
        return "gotoAddNewVendas";
    }
    public String finishAddNewVendas() throws ClassNotFoundException, SQLException{
        vendasDao.add(selectedVendas);
        vendas = null;
        return "gotoListVendas";
    }
    public String deleteVendas() throws ClassNotFoundException, SQLException{
        vendasDao.delete(selectedVendas);
        vendas = null;
        return "gotoListVendas";
    }
    public List getProduto() throws ClassNotFoundException, SQLException{
        List toReturn = new LinkedList();
        for (Produto prod: prodDao.getAllProduto()){
            toReturn.add(new SelectItem(prod, prod.getNome()));
        }
        return toReturn;
    }
    public List getVendedores() throws SQLException, ClassNotFoundException{
          List toReturn = new LinkedList();
            for (Login lg: loginDao.getUsuario()){
                toReturn.add(new SelectItem(lg, lg.getNome()));
        }
        return toReturn;

    }

    public String viewSelectVendas(){
        return "gotoViewSelectVendas";
    }

    public List getVendas() throws SQLException, ClassNotFoundException{
        if (vendas == null){
            vendas = vendasDao.getVendas();
        }
        return vendas;
     }

    public Vendas getSelectedVendas() {
        return selectedVendas;
    }

    public void setSelectedVendas(Vendas selectedVendas) {
        this.selectedVendas = selectedVendas;
    }


}

Ruinaldo

Ruinaldo

Responder

Posts

30/09/2009

Ruinaldo

Lembrando professor que no banco tenho dois usuarios cadastrados!
Responder

Gostei + 0

01/10/2009

Dyego Carmo

Bom dia !

Por favor o codigo fonte de Vendas.java

Responder

Gostei + 0

01/10/2009

Ruinaldo

Ai esta professor!
public class Vendas implements java.io.Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;
    private Produto idProduto;
    private String endereco;
    private Login vendedor;
    private Date data;


    public Vendas (){
    }

    public Date getData() {
        return data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Produto getIdProduto() {
        return idProduto;
    }

    public void setIdProduto(Produto idProduto) {
        this.idProduto = idProduto;
    }

    public Login getVendedor() {
        return vendedor;
    }

    public void setVendedor(Login vendedor) {
        this.vendedor = vendedor;
    }




}

Responder

Gostei + 0

01/10/2009

Dyego Carmo

Qual o erro que esta ocorrendo ?

Responder

Gostei + 0

01/10/2009

Ruinaldo

O problema é que não estou conseguindo trazer do bando de dados os nomes do usuarios como eu consegui trazer os produtos!
Responder

Gostei + 0

01/10/2009

Ruinaldo

Professor essa é a tela que estou trabalhjando no momento com percebe o meu campo produto consegui pegar do banco porém o vendedor não é é o meu problema caro professor!





Responder

Gostei + 0

01/10/2009

Ruinaldo

Professor essa é a tela que estou trabalhjando no momento com percebe o meu campo produto consegui pegar do banco porém o vendedor não é é o meu problema caro professor!





Responder

Gostei + 0

01/10/2009

Dyego Carmo

no seu getVendedores coloque esta linha

System.out.println("Numero de vendodores do banco "+loginDao.getUsuario().size());

Rode a aplicação e mande a msg que vai aparecer no console quando voce selecionar esta pagina.

Responder

Gostei + 0

01/10/2009

Ruinaldo

esse metodo que esta falando é da classe vendas? e se for tere que criar um campo chamado loginDao do tipo LOgin?
Responder

Gostei + 0

01/10/2009

Ruinaldo

Coloquei a llinha neste metodos
 
public List<SelectItem> getVendedores() throws SQLException, ClassNotFoundException{
        System.out.println("Numero de vendodores do banco "+loginDao.getUsuario().size());
         List<SelectItem> toReturn = new LinkedList<SelectItem>();
        for (Login lg: loginDao.getUsuario()){
                toReturn.add(new SelectItem(lg, lg.getNome()));
        }
        return toReturn;

    }
porem ela não eu nenhum erro!
Responder

Gostei + 0

01/10/2009

Ruinaldo

o engraçado é como se este metodo não fosse chmado pois essa linha não foi impressa no console!
Responder

Gostei + 0

01/10/2009

Dyego Carmo

Cola o codigo fonte desta tela jsf.

Responder

Gostei + 0

01/10/2009

Ruinaldo

Prodessor já resolvi o problema existia nesta classe alguns erros tipo:


public class LoginDao extends DatabaseUtil {

    private static final long serialVersionUID = 1L;
    public LoginDao (){
        super();
    }

    Este método esta ok!
    public boolean validadeUser(String userName, String senha) throws SQLException, ClassNotFoundException{
        PreparedStatement ps = getPreparedStatement("select * from aplicacaojsf.login where usuario =? and senha = ?");
        ps.setString(1, userName);
        ps.setString(2, senha);
        ResultSet rs = ps.executeQuery();
        boolean toReturn = rs.next();
        rs.close();
        ps.close();
        return toReturn;
      }
    Este estava com o seguinte problema: no lugar do id tinha usuario
    public Login getById(int userId) throws ClassNotFoundException, SQLException{
        PreparedStatement ps = getPreparedStatement("select * from aplicacaojsf.login where id = ?");
        ps.setInt(1, userId);
        ResultSet rs = ps.executeQuery();
        Login toReturn = null;
        while (rs.next()){
            toReturn = new Login();
            populateUserInfo(toReturn, rs);
        }
        return toReturn;
    }


Este estava com o seguinte problema: no lugar do login tinha vendas, o que determinou o não aparecimento dos usuarios tema de minha dúvida os demais problemas traria problemas futuros!
  
 public List<Login> getUsuario() throws SQLException, ClassNotFoundException{
        List<Login> toReturn = new LinkedList<Login>();
        ResultSet rs = getStatement().executeQuery("Select * from aplicacaojsf.login");
        while (rs.next()){
            Login lg = new Login();
            populateUserInfo(lg, rs);
            toReturn.add(lg);
        }
        return toReturn;
    }
Este estava com o seguinte problema: no lugar do setNome tinha setUsuario
       private void populateUserInfo(Login toReturn, ResultSet rs) throws SQLException{
       toReturn.setId(rs.getInt("id"));
       toReturn.setNome(rs.getString("nome"));
       toReturn.setUsuario(rs.getString("usuario"));
       toReturn.setSenha(rs.getString("senha"));
    }




}
Responder

Gostei + 0

01/10/2009

Dyego Carmo

Perfeito !

Entao podemos fechar este chamado ?
Responder

Gostei + 0

01/10/2009

Ruinaldo

Sim, o senhor poderia só antes dar uma explicação meia que resumida de cada um deste metodos pois como estou na fase de aprendizado tenho dúvidas e não gostaria de fazer como papagaio de só repetir! Gostaria também que o senhor me indicase algum material interessante que me ajude neste aprendizado
Valeu e um abraço!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar