Methode einer Bean aus anderer Bean aufrufen

Status
Nicht offen für weitere Antworten.

Ed77

Mitglied
Hi. Ich habe ein Problem. Ich möchte die Werte einer Bean in einer anderen Bean über die Setter neu setzen. Bisher habe ich es so gemacht:

Bean1 bean = new Bean1();
bean.setWert("wert");

Das hat auch funktioniert, allerdings nur weil ich die Variablen in Bean1 static deklariert habe.
Wie bekomme ich das Ganze ohne static hin? Ich muss ja irgendwie die aktuelle Referenz übergeben per this oder? Funktioniert irgendwie aber nicht?
Ich arbeite übrigens mit myfaces und tomahawk. Evtl gibt es dort noch eine andere Lösung.

Wäre für jede Hilfe dankbar (am besten mit Beispielcode).
 
S

SlaterB

Gast
Bean1 bean = new Bean1();
bean.setWert(anderesBean.getWertX());
oder
bean.setWert(this.getWertX());
 

Ed77

Mitglied
Funktioniert leider nicht. Die andere Bean bleibt leer.
Habe jetzt so:
Code:
public class Bean1
{ 
   private String _name;
   public String getName() 	{ return _name; } 
   public void setName(String name) 	{ _name = name; }
}

public class Bean2
{ 
   private String _name2;
   Bean1 bean = new Bean1();
   _name2 = "Egon";	
   bean.setName(this.getName2());

   public String getName2() 	{ return _name2; } 
   public void setName2(String name2) 	{ _name2 = name2; }
}
 
S

SlaterB

Gast
> Die andere Bean bleibt leer.

wie stellst du das fest?

----

der Code der Klasse Bean2 ist gar nicht kompilierbar/ ausführbar,
direkt in der Klasse darf kein Code wie
> _name2 = "Egon";
stehen, der gehört in Methoden oder Konstruktoren
 

Ed77

Mitglied
wie stellst du das fest?
Weil meine JSP nichts anzeigt.
der Code der Klasse Bean2 ist gar nicht kompilierbar/ ausführbar
Stimmt sorry. Der Code steht aber natürlich in einer Methode.
The BalusC Code: Communication in JSF
Du meinst bestimmt den Absatz "Returning current managed bean instance of self". Das hatte ich auch schon probiert, bekomme allerdings immer eine NullPointerException. Es funktioniert weiterhin nur mit static ... ;(
 

seppitm

Mitglied
Versuch doch mal so:
Java:
 DeineBean deineBean= (DeineBean) ContextUtil.getValueBinding("deineBean");
dann kannste sie verwenden
 
M

maki

Gast
Du meinst bestimmt den Absatz "Returning current managed bean instance of self". Das hatte ich auch schon probiert, bekomme allerdings immer eine NullPointerException. Es funktioniert weiterhin nur mit static ...

Nein, sondern "Accessing another managed bean", da werden 8 (!) Wege beschreiben wie das geht.. ;)
Könnte natürlich sien dass es mittlerweile elegantere/einfachere Wege gibt.

Ansonsten: Wie fit bist du in Java?
Wenn du noch Anfänger bist, ist JSF bzw. WebAnwendungen in Java allgemein nix für dich, ausser du suchst Frust (nicht böse gemeint).
 
S

SlaterB

Gast
> Weil meine JSP nichts anzeigt.

na das läßt sich aus deinen einfachen Code-Ausschnitten ja nicht herleiten,
da könnten tausend andere Dinge schiefgehen, z.B. ein ganz anderes Bean der gleichen Klasse verwendet werden

gib z.B. zum Namen zusätzlich den hashCode aus, um zu erkennen, um welches Objekt sich handelt

public String getName() { return _name + " - " +hashCode(); }

macht sicher nur Sinn, wenn du auch während des vermeintlichen Setzens prüfen kann, in welchem Objekt gespeichert wird,
Logging oder Debugging sind das A und O jeder Entwicklung

----

in diesem Falle aber vielleicht auch kompliziert für dich,
poste mehr von dem JSP, allen Verknüpfungen, Weiterleitungen, Bean-Deklarationen, web.xml und was es nicht alles gibt,
muss aber wahrscheinlich dennoch jemand anders beantworten,

wenn's nach Standard-Tutorials wie dem obigen Link funktioniert, umso besser
 

Ed77

Mitglied
Vielen Dank für Eure Anworten. Ich werde mir den Absatz "Accessing another managed bean" nochmal angucken. Den hatte ich vorher gar nicht gesehen :)
Mal sehen, ob es damit klappt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Automatische Weiterleitung JSF mit Aufruf einer Methode Web Tier 2
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9
S Button klick soll Java methode aufrufen Web Tier 2
M JSF JSF: Methode bei versteckt aufrufen & Parameter übergeben Web Tier 6
R get-methode der Managed-Bean wird immer 3 mal ausgeführt Web Tier 4
Joew0815 Spring Handle All Requests Methode Web Tier 1
M rendered ruft eine Methode auf, andere aber nicht Web Tier 15
V Mittels JavaScript Methode aufrufen Web Tier 23
M JSF Button - Methode wird nicht aufgerufen Web Tier 4
K JSF Unified-EL- Methode mit Parameterübergabe Web Tier 9
F NullPointerException auf validator methode Teil2? Web Tier 2
B JSF NullPointerException auf validator methode Web Tier 7
P Mit EL Parameter an Methode übergeben Web Tier 5
I Im PhaseListener Service Methode aufrufen Web Tier 21
J JSF Datatable bestimmte Methode Web Tier 4
M JSF: Bei Seitenaufruf eine Methode starten Web Tier 15
H JSF - Methode kann nicht aufgerufen werden Web Tier 5
M Body onUnload Java Methode aufrufen Web Tier 13
K bean methode von jslt aufrufen Web Tier 7
D <html:select> bzw. <html:option> - Methode auslösen ? Web Tier 2
D [JSF] Lifecycle Methode wird mehrfach aufgerufen Web Tier 4
F Problem mit der Methode request.getRemotePort() Web Tier 2
D Methode bei Server Startup ausführen Web Tier 2
S JSF: Methode mit Parametern aufrufen Web Tier 7
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
G Mit JSTL Rückgabe von Bean Methode ausgeben Web Tier 3
G in validate methode auf form objekte zugreifen Web Tier 3
A Action-Methode soll Ausgabe auf der Responsepage steuern Web Tier 4
M In einer HTML Tabelle positionieren Web Tier 4
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
N RequestDispatcher: include-Aufruf einer jsp scheitert nach mehreren forward-Aufrufen Web Tier 1
Shams Problem mit der verwirklichung einer Readmethode in einer Chatapplikation Web Tier 3
F JSF Popup mit einer Checkbox Auswahlliste Web Tier 1
S Rendern einer Komponente nach actionListener Web Tier 2
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
J JSF Initialisierung einer ApplicationScoped Bean Web Tier 2
J Anzeige einer Hierarchie Web Tier 5
M Exception beim Erstellen einer Query Web Tier 9
N JSF Architektur/Design einer JEE 6 + JSF 2.x Webanwendung mit Subdomänen Web Tier 4
J Performance einer Webanwendung Web Tier 2
V JSF Rendering abhängig von einer Auswahl Web Tier 8
P JSF Merkwürdiges Verhalten einer Bean Web Tier 11
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
X JSP Auslesen der Daten einer Session Web Tier 3
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
1 JSP Mit Daten einer c:forEach Rechnen ? Web Tier 4
H Seiten-reload als Result einer Action Web Tier 3
N Wie mache ich in einer xhtml (JSF) einen redirect? Web Tier 3
F Prinzipielle Architektur einer Web-Anwendung Web Tier 4
A [JSF 2.0] Ausgabe aus Schleife bzw. einer ArrayList Web Tier 9
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
O Focus auf Textfeld, in letzter Reihe einer dataTable Web Tier 2
M Frage zur Konfiguration einer RichFaces DataTable Web Tier 4
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
C PanelGrid aus einer Liste Web Tier 3
J JSF: Initialisieren einer Property mit Wert? Web Tier 5
P Struts2 - Mehrere Methoden/Actions in einer Klasse + Validation Web Tier 2
S Attribute einer HttpSession / unchecked cast Web Tier 8
Schandro JSP soll dynamische Anzahl an Parametern einer JavaScript-Function erzeugen Web Tier 8
N Architektur einer Such-Webanwendung Web Tier 4
F Redirect nach Aufruf einer JSP Web Tier 5
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
C navigation auf einer jsp Seite Web Tier 3
pusteblume Mehrere Objekte einer Bean Web Tier 10
D JSF+Weiterleitung zu einer Login-Page Web Tier 1
F Darstellung einer Tabelle mit JSP Web Tier 4
6 JSF Form Attribute nicht an Bean übergeben Web Tier 2
G HTML Fragment in Bean erzeugen? Web Tier 1
W JSF Probleme mit Zugriff zur Managed Bean Web Tier 11
F JSF Bean funktioniert nicht immer.. Web Tier 3
I CSS von Client -> an Bean senden Web Tier 0
H JSF jsf/sessionScoped Bean - Bilder (jpg) werden nicht richtig dargestellt Web Tier 1
S Java Bean und Java Servlet Web Tier 2
G jsf bean erstellen die mir die aktuelle uhrzeit ausgibt als xhtml Web Tier 5
M viele Objekte des Managed Bean Web Tier 3
S [JSF] Zugriff auf Bean (Eclispe,JBoss) Web Tier 12
P JSF Prob mit xhtml / Bean / JS Web Tier 6
B Berechnen und Anzeigen von Formeln aus der Chemie und Physik mit JSP und Bean Web Tier 14
H Bean-Objekte aus XML erstellen Web Tier 2
L expression language Bean && Bean Web Tier 3
C JSF Methoden in Backing-Bean als JSF-Property Web Tier 3
S CDI: Bean aus einem anderen jar Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
D JSF EL #{not null bean.property} Parse exception Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
B JSF Servlectexception: Verwalteter Bean "..bean" kann nicht erstellt werden Web Tier 2
G JSF Bean Vererbung Web Tier 5
J Validieren abhängiger Felder mit JEE6/Bean validation Web Tier 33
F Leere Bean? Web Tier 7
S JSF2: Managed bean aus anderer Dependency Web Tier 7
W MVC mit Bean, JSP und Servlet Web Tier 6
S Style bei fehlerhafter Eingabe (Bean Validation) ändern Web Tier 2
H Managed Bean Aufruf auf Stack legen Web Tier 10
P JSP: Liste in Bean über Session aufbauen Web Tier 6
S Bean Validation (JSF 2.0) funktioniert nicht. Web Tier 4
V Vector aus Bean "holen" / JSP Web Tier 3
B JSF session bean mit worker thread updaten Web Tier 7
J Managed bean und javascript kommunikation (JSF 2) Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben