Frage

i, einen Weg suchen, wie ich eine Klasse in dem sessionscope zugreifen kann.

Ich habe diese Klasse:

@ManagedBean
@SessionScoped
public class UserManagerBean implements Serializable{...}

, und ich werde einige Felder von einer anderen Bean zugreifen. Wie kann ich das tun?

Danke

War es hilfreich?

Lösung

Sie können das tun, indem Sie die Bohne als @ManagedProperty der anderen Bohne nehmen und dann greifen sie nur als übliche Eigenschaft in den Aktionsmethoden.

@ManagedBean
public class OtherBean implements Serializable {

    @ManagedProperty(value="#{userManagerBean}")
    private UserManagerBean userManagerBean;

    // ...
}

Es wird direkt eingestellt wird nach Konstruktion, so dass es nicht in dem Konstruktor zur Verfügung stehen würde. Wenn Sie möchten, dass einige init Sachen tun, die auf ihrer availablility beruht, dann Verwendung von @PostConstruct machen:

    @PostConstruct
    public void init() {
        userManagerBean.doStuff();
        // ...
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top