<p:commandbutton>没有做任何事情

时间:2016-10-04 23:45:09

标签: jsf primefaces

我开始一个新项目并且我没有得到任何错误...但是当我将我的数据插入字段并按下我的按钮进行登录时没有任何事情发生...没有错误没有什么......它甚至没有调用方法......只是一个空白的控制台。

继承我的代码:

        <?xml version='1.0' encoding='UTF-8' ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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.org/ui"
            xmlns:ui="http://java.sun.com/jsf/facelets">
            <!-- jQuery 2.2.0 -->
            <script src="plugins/jQuery/jQuery-2.2.0.min.js"></script>
            <!-- Bootstrap 3.3.6 -->
            <script src="bootstrap/js/bootstrap.min.js"></script>
            <!-- iCheck -->
            <script src="plugins/iCheck/icheck.min.js"></script>
        <h:head>
          <meta charset="utf-8"></meta>
          <meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
          <title>EnlaceRH | Log in</title>
          <!-- Tell the browser to be responsive to screen width -->
          <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"></meta>
          <!-- Bootstrap 3.3.6 -->
          <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css"></link>
          <!-- Font Awesome -->
         <link href="resources/font-awesome-4.6.0/css/font-awesome.min.css"></link>
          <!-- Ionicons -->
          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css"></link>
          <!-- Theme style -->
          <link rel="stylesheet" href="dist/css/AdminLTE.min.css"></link>
          <!-- iCheck -->
          <link rel="stylesheet" href="plugins/iCheck/square/blue.css"></link>
          <link rel="shortcut icon" href="resources/img/favicon.ico" />
          <link href="http://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet" type="text/css" />
          <link href="resources/css/bootstrap.min.css" rel="stylesheet" />
          <script src="resources/js/login.js" type="text/javascript"></script>
          <script src="resources/js/load.js" type="text/javascript"></script>
        </h:head>
        <h:body onload="inicio();">
            <f:loadBundle basename="org.enlacerh.util.MessagesBundle_es_VEN" var="msg" />
        <div class="login-box">
          <div class="login-logo">
          </div>
          <!-- /.login-logo -->
          <div class="login-box-body">
            <p class="login-box-msg">Sign in to start your session</p>

           <form id="loginform">
           <fieldset>
              <div class="form-group">
               <p:inputText id="usuario" styleClass="form-control" style="height:50px; margin-bottom: 10px;" maxlength="100"
                required="false" value="#{loginBean.usuario}" requiredMessage="#{bd.getMessage('loginuser')}" />
                <p:message for="usuario" />
                <p:watermark for="usuario" value="#{msg.logUsuario}:*" />
              </div>
              <div class="form-group">
                <p:password id="clave" feedback="false" styleClass="form-control"
                style="height:50px; margin-bottom: 10px;margin-top: 10px;"  maxlength="150" required="false"
                requiredMessage="#{bd.getMessage('loginclave')}" value="#{loginBean.clave}" />
                <p:message for="clave" />
                <p:watermark for="clave" value="#{msg.logClave}:*" />
              </div>
              <div class="row">

                <!-- /.col -->
                    <p:ajaxStatus id="ajaxStatusPanel">
                                            <f:facet name="default">
                                                <p:commandButton value="#{msg.login}"
                                                    styleClass="btn btn-lg btn-success btn-block"
                                                    action="#{loginBean.login}" />
                                            </f:facet>
                                            <f:facet name="start">
                                                <center><i class="fa fa-cog fa-spin fa-4x"></i></center>
                                            </f:facet>
                                            <f:facet name="complete">
                                                <p:commandButton value="#{msg.login}"
                                                    styleClass="btn btn-lg btn-success btn-block"
                                                    action="#{loginBean.login}" />
                                            </f:facet>
                                        </p:ajaxStatus>

                <!-- /.col -->
              </div>
              </fieldset>
            </form>

          </div>
        </div>

        </h:body>
        </html>

和我的豆子:

            package org.enlacerh.util;

            import java.io.IOException;
            import java.sql.SQLException;

            import javax.faces.application.FacesMessage;
            import javax.faces.bean.ManagedBean;
            import javax.faces.bean.SessionScoped;
            import javax.faces.context.FacesContext;
            import javax.naming.NamingException;
            import javax.servlet.http.HttpServletRequest;
            import javax.servlet.http.HttpSession;

            import org.primefaces.context.RequestContext;
            import org.quartz.SchedulerException;

            @ManagedBean
            @SessionScoped
            public class LoginBean extends Bd {

                private String usuario;
                private String clave;
                FacesMessage msj = null;
                HttpSession sesionOk;
                HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
                private String sessionId;
                StringMD md = new StringMD(); //Objeto encriptador
                String logged = (String) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario");
                String loggedUsr = (String) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("desuser");


                public String getUsuario ()
                {
                    return usuario;
                }


                public void setUsuario (final String usuario)
                {
                    this.usuario = usuario.toUpperCase();
                }


                public String getClave ()
                {
                    return clave;
                }


                public void setClave (final String clave)
                {
                    this.clave = clave;
                }


                /**
                 * @return the sessionId
                 */
                public String getSessionId() {
                    return sessionId;
                }


                /**
                 * @param sessionId the sessionId to set
                 */
                public void setSessionId(String sessionId) {
                    this.sessionId = sessionId;
                }


                /**
                 * Leer Datos de Usuarios
                 * <p>
                 * Se conecta a la base de datos y valida el usuario y la contraseña.
                 * Adicionalmente valida si el usuario existe ne la base de datos.
                 * @throws IOException 
                 * @return String
                 * @throws SQLException 
                 * @throws ClassNotFoundException 
                 * @throws SchedulerException 
                 * @throws InterruptedException 
                 * **/
                public void login() throws NamingException, ClassNotFoundException, SQLException, SchedulerException, InterruptedException, IOException {
                    Bvt002 seg = new Bvt002(); // Crea objeto para el login
                    String[][] tabla = null;
                    int rows = 0;
                    // LLama al método que retorna el usuario y la contraseña
                    seg.selectLogin(usuario, JNDI);
                    tabla = seg.getArray();
                    rows = seg.getRows();
                    //System.out.println("Método");

                    if (rows == 0) {
                        msj = new FacesMessage(FacesMessage.SEVERITY_ERROR, getMessage("noreg"), "");
                        FacesContext.getCurrentInstance().addMessage(null, msj);
                     usuario = "";
                    }

                    //Se asignan a dos variables String ya que retorna un arreglo y debe convertirse a String
                    // y se convierte en mayúscula
                    if(rows>0){
                    String vLusuario = tabla[0][0].toUpperCase().toString();
                    String vLclave = tabla[0][1].toString();
                    //System.out.println("Usuario: " + vLusuario);
                    //System.out.println("Clave: " + vLclave);

                    //Valida que usuario y claves sean los mismos, realiza el login y crea la variable de session
                    if(usuario.equals(vLusuario) && !md.getStringMessageDigest(clave,StringMD.SHA256).equals(vLclave)){
                        //System.out.println(getMessage("logCl"));
                        msj = new FacesMessage(FacesMessage.SEVERITY_ERROR, getMessage("logCl"), "");
                        FacesContext.getCurrentInstance().addMessage(null, msj);

                    } else  if(usuario.equals(vLusuario) && md.getStringMessageDigest(clave,StringMD.SHA256).equals(vLclave)){
                        //System.out.println("Usuario y contraseña correctos");

                        //Creando la variable de session    
                        sesionOk = ( HttpSession ) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
                        sesionOk.setAttribute("usuario", usuario);
                        //sesionOk.setMaxInactiveInterval(getSession());
                        sessionId = sesionOk.getId();
                        //FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario", usuario);
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("login", usuario.toUpperCase());
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("rol", tabla[0][2].toString());
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("desuser", tabla[0][3].toString());
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("session", sessionId);

                        //Se genera opción de logout
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("logoutEstandart", "0");
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instancia", tabla[0][5].toString());
                        FacesContext.getCurrentInstance().getExternalContext().redirect("/enlacerh/ct/openbizview.xhtml"); 

                        new Programacion().recuperarTriggers("0");
                    } 

                    }//Fin if valida que sema mayor a cero (0)
                }


                /**
                 * Define la instancia seleccionada y redirecciona
                 */
                 public void grupos(String grupo){
                     FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instancia", grupo.split(" - ")[0]);
                     //System.out.println("Grupo de usuario: " + grupo.split(" - ")[0]);
                     try {
                        FacesContext.getCurrentInstance().getExternalContext().redirect("/enlacerh/ct/openbizview.xhtml");
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } 
                 }


                /**
                 * Invalida la session y sale de la aplicación
                 * @return String
                 */ 
                public void logout() throws IOException{
                    String logoutEstandart = (String) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("logoutEstandart");
                    //Invalida la session
                    FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
                    //Redirecciona la página
                    //System.out.println("PPPPPPPPPPPPP: " + logoutEstandart);
                    if(logoutEstandart==null) {
                    FacesContext.getCurrentInstance().getExternalContext().redirect("/enlacerh/login.xhtml"); 
                    } else if(logoutEstandart.equals("1")){
                        FacesContext.getCurrentInstance().getExternalContext().redirect(LOGOUT_URL);    
                    } else {
                    FacesContext.getCurrentInstance().getExternalContext().redirect("/enlacerh/login.xhtml");   
                    }
                }

                /**
                 * Retorna el nombre de la sesión activa.
                 * Si la sesión es null,
                 * entonces llama al método logout que la invalida
                 * redirecciona al logout, retornando blanco.
                 * @return String
                 */ 
                public String getLogged() throws IOException {      //System.out.println("Usuario Logeado:" + logged);
                    if (!rq.isRequestedSessionIdValid() || logged==null) {
                        //rq.getCurrentInstance().execute("PF('yourdialogid').show()");
                        RequestContext.getCurrentInstance().execute("PF('idleDialog').show()");
                        return null;
                    } else {
                    return logged.toLowerCase();
                    }       
                }

                /**
                 * Retorna el nombre de la sesión activa.
                 * Si la sesión es null,
                 * entonces llama al método logout que la invalida
                 * redirecciona al logout, retornando blanco.
                 * @return String
                 */ 
                public String getLoggedUsr() throws IOException {       //System.out.println("Usuario Logeado:" + login);
                    if (!rq.isRequestedSessionIdValid() || logged==null) {
                        //rq.getCurrentInstance().execute("PF('yourdialogid').show()");
                        RequestContext.getCurrentInstance().execute("PF('idleDialog').show()");
                        return null;
                    } else {
                    return loggedUsr.toUpperCase();
                    }       
                }

                public void isLogged() throws IOException{
                    //Redirecciona la página
                    //System.out.println("Epa: " + logged);
                    if (logged!=null) {
                        FacesContext.getCurrentInstance().getExternalContext().redirect("/enlacerh/ct/openbizview.xhtml"); 
                        //System.out.println("Ya se logeó, redireccionar");
                    }
                    //FacesContext.getCurrentInstance().getExternalContext().redirect("/ri/faces/jsf/openbizview.xhtml"); 
                }


            }
希望你们能帮助我。

0 个答案:

没有答案