Problem z pobieramiem danych w JSF.

0

Po zalogowaniu uzytkownika, wyświetlane sa dane kilku tabelach zrobione analogicznie z poniższym kodem. Nie wiem dlaczego ale często gdy uzytkownik loguje się pierwszy raz, nie widac danych. Dopiero przy 2gim logowaniu wszystko działa poprawnie. Nie mam dużego doświadczenia w JSF, może powinienem coś załadować na starcie? Brak jakichkolwiek błędów.

@ManagedBean
@ViewScoped
public class MyRequestBean implements Serializable{

    static ArrayList<Request> list;
    static User user = new User();

   public MyRequestBean() {
        update();
    }

public static void update() {

        list = new ArrayList();  
        user = (User) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("user");  
        if(user != null){      
            try {           
                list = (ArrayList<Request>) DAO.GlobalDOA.getHqlQuery("from Request r where r.user='"+user.getSapCode()+"' and r.archived=0 and r.requestType=1");                         }
            catch (IOException ex) {Logger.getLogger(MyRequestBean.class.getName()).log(Level.SEVERE, null, ex);}    }
    }
}
0

Moze wiem scope tworzy się przed napełnieaniem sesji, wywal ten update z konstruktora tak sie nie robi

0

Niestety to nie to. Problemem jest pusty obiekt user.

Robie tak:

  1. Wyświetlam dane po zalogowaniu - wszystko jest ok.
  2. Wciskam przyciks wyloguj i wywołuje wetode o zawartości:

FacesContext.getCurrentInstance().getExternalContext().invalidateSession();

  1. Aplikacja przechodzi na strone index
  2. Wywołuje raz jeszcze konstruktor powyższej klasy z pustym obiektem user. I stąd te problemy Ale nie wiem dlaczego ten konstruktor jest raz jeszcze wywoływany.
0
Eiten napisał(a):

[...]
4. Wywołuje raz jeszcze konstruktor powyższej klasy z pustym obiektem user. I stąd te problemy Ale nie wiem dlaczego ten konstruktor jest raz jeszcze wywoływany.

Konstruktora się nie wywołuje (tylko tworzy obiekt), a już na pewno nie w przypadku beana zarządzanego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1