Annotazioni di fagioli come @ManagedProperty e @PostConstruct non funzionano manualmente istanziano il fagiolo da un altro fagiolo

StackOverflow https://stackoverflow.com/questions/8420217

Domanda

Ho istanziato un fagiolo di richiesta da un altro fagiolo di richiesta,

new LoginManager();

Ma la proprietà che è annotata con @ManagedProperty Non ottiene il valore dal riferimento richiesto, solo in caso di istanza attraverso il modo sopra. Contiene solo null, causando NPE più avanti nel codice. Anche @PostConstruct non verrà invocato. Perché è così e come dovrei occuparmi di questo?

@ManagedBean(name = "loginManager")
@RequestScoped
public class LoginManager {

    private String userid;
    private String password;

    @ManagedProperty(value="#{currentSession}")
    private UserSessionManager userSession;

}

Ma userSession Non riesco a leggere dalla sessione Scoped Bean quando questo fagiolo è stato istanziato usando: new LoginManager();

Tuttavia posso leggere il valore usando FacesContext!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top