Struts 2 : Aus JSP auf Session Attribut zugreifen

Tservarius

Mitglied
Hi und Hallo,

habe da mal eine Struts 2 frage und hoffe einer der Gurus hier weis eine Antwort.
Arbeite mit Struts 2 und alles funktioniert eigentlich wunderbar.

habe eine Action, die sich einenn Datensatz Mitarbeiter aus der DB zieht und im Session-Scope unter dem Namen "bean_mitarbeiter_selected" ablegt.
soweit so gut...
auf der JSP Seite, welche nun folgt, möcte ich gerne die selektierten Daten ausgeben, also irgendwie auf dieses in der Session befindliche Objekt zugreifen und die einzelnen attribute des Objekts ausgeben können.

Kann mir jemand sagen, wie ich dies anstelle?

Danke im Voraus!

Hier die Action:
Code:
MitarbeiterManager mgr = new MitarbeiterManager();
Mitarbeiter usr = new Mitarbeiter();
usr = (Mitarbeiter) mgr.getUser(usrid);
HttpSession session = request.getSession();
session.setAttribute("bean_mitarbeiter_selected", usr );
 
Hallo Tservarius,
das geht ganz leicht, in allgemeiner Form:

Code:
<s:property value="#session.bean_mitarbeiter_selected"/>

Oder im Zusammenhang mit Struts 2-Tags, wobei über die Punktnotation direkt auf die Eigenschaften (hier die fiktive Eigenschaft 'name') zugegriffen werden kann:

Code:
<s:textfield name="#session.bean_mitarbeiter_selected.name"

Aber gibt es einen bestimmten Grund, warum Du das usr-Objekt in die Session legst?
Struts 2 bietet doch gerade den Vorteil, dass Du die Objekteigenschaften schlicht durch Getter und Setter der Action erreichbar machst.

Wenn Du also Deiner Action einfach folgende Getter und Setter hinzufügst ...

Code:
public Mitarbeiter getUsr() {return this.usr;}
Code:
public void setUsr(Mitarbeiter usr) {this.usr = usr;}

... kannst Du direkt in der JSP darauf zugreifen:

Code:
<s:textfield name="usr.name"

Solltest Du die Session-Variable bemühen, um das Objekt über mehrere Actions bzw. JSPs hinweg zu retten, hätte ich dann noch einen anderen Tip für Dich.

Viel Erfolg!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück