GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Passando variavel no DAO para bean e ser chamado no xhtml

Tags: #<Tag:0x00007fc3c89d8a08> #<Tag:0x00007fc3c89d88c8> #<Tag:0x00007fc3c89d8788> #<Tag:0x00007fc3c89d8648> #<Tag:0x00007fc3c89d8508>

Ola pessoal preciso de uma ajuda!

tenho uma variavel (permite) no meu arquivo UserDAO.java

public class UserDAO {

private static String permite;





public static String getPermite() {
	return permite;
}





public static void setPermite(String permite) {
	UserDAO.permite = permite;
}





public static boolean login(String nome, String cargo) {
    
    PreparedStatement ps = null;
    try {
    	Connection con = ConexaoFactory.conectar();
        ps = con.prepareStatement(
                "select nome, cargo, permissao from funcionarios where nome= ? and cargo= ? ");
        ps.setString(1, nome);
        ps.setString(2, cargo);
      
        ResultSet rs = ps.executeQuery();
        if (rs.next()) // found
        {
         permite = rs.getString("permissao");
         
         System.out.println("" + permite);
            return true;
        }
        else {
            return false;
        }
    } catch (Exception ex) {
        System.out.println("Error in login() -->" + ex.getMessage());
        return false;
    } finally {
 
    }
}

}

gostaria de chamar a variavel permite no meu Bean como faço?

Olá João,

Não esta muito claro o que você esta esta querendo, vejo que você tem um método login que retorna um booleano, creio que você deva chamar esse método no seu Bean, mas pelo que vi acho que você também deve estar querendo obter a variável permite.

Respondendo genericamente:
você instancia o objeto DAO e dao.getPermite.

Mas minha suspeita é que o que você esta querendo é ai chamar o metodo login o retorno seja um boolean e o permite, é isso?

Sim é mesmo isso!

O meu Bean,
public class LoginBean implements Serializable {

private static final long serialVersionUID = 1L;
private String cargo;
private String message, nome;

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public String getcargo() {
    return cargo;
}

public void setcargo(String cargo) {
    this.cargo = cargo;
}

public String getnome() {
    return nome;
}

public void setnome(String nome) {
    this.nome = nome;
}


public String loginProject() {
    boolean result = UserDAO.login(nome, cargo);
    if (result) {
        // get Http Session and store username
        HttpSession session = pt.com.pizzaria.bean.Util.getSession();
        session.setAttribute("username", nome);

        return "entrar";
    } else {

        FacesContext.getCurrentInstance().addMessage(
                null,
                new FacesMessage(FacesMessage.SEVERITY_WARN,
                "Invalid Login!",
                "Please Try Again!"));

        // invalidate session, and redirect to other pages

        //message = "Invalid Login. Please Try Again!";
        return "login";
    }
}

public String logout() {
  HttpSession session =  pt.com.pizzaria.bean.Util.getSession();
  session.invalidate();
  return "faces/login";

}
}

quando quero ver quem está logado no xhtml chamo desse jeito: #{loginBean.nome}

mas quero chamar tambm o permite, permissao,
ele nao funciona

Faz assim, creio que seu sistema deva ter uma classe Usuario, tem?

Você tem um metodo login, que retornar true ou false apenas para permitir a entrada do usuario, então que tal se esse metodo retornasse um objeto Usuario(com todos seus atributos), caso o metodo login retorne null significa que o usuario não pode logar e caso ele retorne um objeto usuario você pode ler todos seus atributos.

//