entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

No muestra los datos del usuario JSF

Saludos
Estoy haciendo un proyecto con JSF y Primefaces. He logrado realizar el registro y login de usuario pero cuando selecciono "ver perfil" no se visualizan sus datos(nombre, apellidos, email). Dejo el código que llevo:

Perfil de usuario

<?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:ui="http://xmlns.jcp.org/jsf/facelets">

    <body>

        <ui:composition template="./../WEB-INF/Template2.xhtml">

            <ui:define name="content">
              <h3>Nombre de usuario#{loginBean.usuarioAutenticado.nombre}</h3>
              <p>Email #{loginBean.usuarioAutenticado.email}</p>
              <p>Fecha de nacimiento #{loginBean.usuarioAutenticado.fechanac}</p>

            </ui:define>

        </ui:composition>

    </body>
</html>

Login Bean

import com.mycompany.pfinalpsegrupo2.Usuarios;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.bean.ManagedBean;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

@ManagedBean
@SessionScoped
public class LoginBean implements Serializable {

     private String email;
    private String password;
      @Inject
   private UsuarioEJB user;
   private static final Logger log = Logger.getLogger(RegisterView.class.getName());
    private Usuarios usuario;
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

     public Usuarios getUsuarioAutenticado() {
    return usuario;
    }

  public void setUsuario(Usuarios usuario) {
   this.usuario=usuario;
    }

    public String login() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
        try {
            request.login(email, password);
        } catch (ServletException e) {
            context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Login incorrecto", null));
            return "login";
        }
        this.usuario = user.findByEmail(request.getUserPrincipal().getName());
        if (request.isUserInRole("candidato")) {
            return "/users/paginaprivada?faces-redirect=true";

        } else if (request.isUserInRole("administrador")) {
            return "/admin/paginaprivada?faces-redirect=true";

        } 
         else if (request.isUserInRole("empresa")) {
            return "/users/paginaprivadaempresa?faces-redirect=true";

        } 
        else {
            return "login";
        }
    }

    public String logout() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
        try {
            this.usuario = null;
            request.logout();
            ((HttpSession) context.getExternalContext().getSession(false)).invalidate();
        } catch (ServletException e) {
            log.log(Level.SEVERE, "Fallo al cerrar sesión", e);
        }
        return "/index?faces-redirect=true";
    }

}

Gracias de antemano.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta