Zugriff auf Variable einer anderen ManagedBeans

Moin Leuts,

ich habe in meinem Projekt zwei ManagedBeans User und Language. In der Bean User befindet sich ein Attribut (User user) über das ich mittels getter/setter zugreifen kann. Ich möchte jetzt aus der ManagedBean Language auf das Attribut user zugreifen. Ich wusste schon mal wie es ging, finde es im moment via google leider nicht wieder.

Ich bin erst ganz neu beim Thema JEE aber
solltest du dir nicht einfach die User Bean in der Language Bean Injecten können?

Hab bei google das hier gefunden (Injecting Managed beans in JSF 2.0)

Im Prinzip hast du schon recht. Ich habe mehrere Beans auf die es zutrifft und ich denke mal es ist wäre quatsch wenn ich für zig Beans jede Bean mit User injizieren würde, wenn ich die Möglichkeit habe sie direkt abfragen zu können.

allgemein gesprochen:
wenn ein ManagedBean wie im Link eine Simpel-Klasse ohne Basisklasse mit evtl. Hintergrund ist,
dann wird ohne irgendeine Art von Injektion nicht mehr viel technisch möglich sein,

statische Zugriffe sind recht verpöhnt, bei womöglich mehreren Usern gleichzeitig auch kaum denkbar,
das Thread-Objekt und Dinge wie ThreadLocal bleiben dann noch, falls jemand vorher auf diesem Weg Informationen hinterlegt haben sollte,
klingt auch nicht üblich


bei Injektion ist noch ein etwas abweichender Punkt, ich weiß nicht ob hier möglich und in Ordnung befunden,
statt spezieller Einzel-Beans einen großen allgemeinen Context einzubinden,

ist gegen Injektion von User-Bean zunächst kein Unterschied, aber zumindest falls potentiell noch 5 anderen Beans in Frage kämen
würde man deren Einbindung einsparen, falls über den Context an alles wichtige heranzukommen


überlegenswert dazu ist vielleicht auch, sich von so speziellen Dingen wie Beans zu lösen,
in einem eigens aufgebauten Context könnten alle wichtigen Dinge wie User, Language usw. als Attribute aufgeführt sein,

wenn das Ändern der Language, die Kommunikation dazu mit dem Client, über irgendein Framework-Bean abläuft, bitte,
dann kann es auch Momente geben in denen zunächst nur das LanguageBean die neue Language kennt,
ist in Ordnung, ist noch in der Schwebe, zunächst nur eine User-Auswahl, Vorschlag zur Änderung,

es gibt dann hoffentlich auch einen Zeitpunkt, an dem das im Server in eine gewisse Verarbeitung/ Überprüfung dazu ankommt,
an dieser Stelle wird die Language in den Context eintragen, nun ist sie allgemeingültig, alle neuen Seiten die dort nachfragen richten sich danach

falls die Language abgelehnt wird, vielleicht weil der User für diese Sprache gesperrt ist, dann war es eben nix, nur ein Wunsch aber nie Realität,
-> für alle Klassen, die auf den Context als seriöse kontrolliere Referenzstelle schauen statt auf das leichtgewichtige User-Eingaben-Bean,
war diese Episode irrelevant, es hat nie eine Änderung gegeben, nur Formularspielereien

aber das ohne konkrete Ahnung bzw. nur Vermutungen, wozu die Beans ich welch komischen Sonder-Frameworks auch immer eingesetzt werden