@ManagedPropertyや@PostConstructなどのBean Annotationsは、別のBeanからBeanを手動でインスタンス化すると機能しません

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

質問

私は別のリクエストビーンからリクエストビーンをインスタンス化しました、

new LoginManager();

しかし、注釈が付けられたプロパティ @ManagedProperty 上記の方法でインスタンス化された場合にのみ、尋ねられた参照から値を取得しません。それはただ含まれています null, 、コードの後半でNPEを引き起こします。また @PostConstruct 呼び出されません。なぜそうなのか、これにどのように対処すればよいですか?

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

    private String userid;
    private String password;

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

}

しかし userSession この豆を使用してインスタンス化されたときに、セッションスコープされた豆から読み取ることができません。 new LoginManager();

ただし、使用を使用して値を読むことができます FacesContext!

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top