2014-09-04 3 views
0

Я пытаюсь получить возврат моего ManagedBean. У меня есть диалог для входа в систему, и у меня есть метод в managedbean, который проверяет, существует ли пользователь. Если пользователь существует, верните true, если не вернете false.Открыть p: диалог в режиме прослушивателя действий

Я хочу, если пользователь существует диалоговое окно скрыть, если диалог не отображается.

Как я могу это сделать?

XHTML

<h:form id="UsuarioLoginForm"> 
    <p:growl id="growl" life="3000"/> 
     <p:panelGrid columns="2" id="display"> 

      <p:outputLabel value="Login"/> 
        <p:inputText 
          required="true" 
          value="#{usuarioMB.bean.login}"        
          maxlength="50"        
          onkeyup="strToUpper(this)" 
          /> 

      <p:outputLabel value="Senha"/> 
        <p:password 
          required="true" 
          value="#{usuarioMB.bean.senha}"        
          maxlength="12"        
          onkeyup="strToLower(this)" 
          /> 

      <p:commandButton value="Login" 
          actionListener="#{usuarioMB.isLoginExiste(usuarioMB.bean)}" 
          > 
       <f:ajax execute="@form" render="@form"/> 
      </p:commandButton> 

     </p:panelGrid> 
    </h:form> 
</p:dialog> 

Managed Bean

/** check if login exist */ 
    public Boolean isLoginExiste(Usuario u){ 
     if(new CustomUsuarioDAO().isLoginExiste(u.getLogin(), u.getSenha())){ 
      return true; 
     }else{ 
      return false; 
     } 
    } 


    } 
+1

Пожалуйста, оставляйте свой ответ для вопроса в разделе ответов, а не в самом вопросе. Вы сможете отметить это как ответ. –

ответ

0

решаемые

/** check if login exist */ 
    public void isLoginExiste(){   
     RequestContext rctx = RequestContext.getCurrentInstance(); 
     boolean existe = new CustomUsuarioDAO().isLoginExiste(getLogin(), getSenha());  
     if(existe){ 
      rctx.execute("UsuarioLoginDialog.hide()"); 
     }else{ 
      FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro","Usuário ou senha inválido")); 
      rctx.update("UsuarioLoginForm:growl"); 
      rctx.execute("UsuarioLoginDialog.show()");   
     }  
    } 
Смежные вопросы