Witam,
Robię projekt na studia w PrimeFaces, chciałbym zrobić panel użytkownika, i chciałbym do niego zaimplementować funkcję, która sprawdza czy użytkownik jest zalogowany a jeśli nie żeby przekierowywał do strony głównej, chcę by to było w ManagedBeans, ale nie mogę uzyskać dostępu do danych sesyjnych z poziomu kodu, zawsze dostaje java.lang.NullPointerException, próbowałem już request.getSession(false); oraz (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true); i zawsze to samo
import java.io.IOException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.servlet.*;
import javax.servlet.http.*;
@ManagedBean
@SessionScoped
public class panelView {
HttpSession sesja;
HttpServletRequest request;
private String nazwa;
public void initialiseSession() {
sesja = request.getSession(false);
}
public String getNazwa() {
return nazwa;
}
public void setNazwa(String nazwa) {
this.nazwa = nazwa;
}
public void sprawdz() throws IOException{
if(sesja.getAttribute("zalogowano") == "tak")
FacesContext.getCurrentInstance().getExternalContext().redirect("/HurtowniaPKS/");
}
public void wyloguj() throws IOException{
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
FacesContext.getCurrentInstance().getExternalContext().redirect("/HurtowniaPKS/");
}
}