JavaBean lebt nicht lang genug

Status
Nicht offen für weitere Antworten.

HyperHyper

Mitglied
Habe eine Struts-Anwendung in welcher ich eine JavaBean von Webseite zu Webseite weiterleiten möchte. Allerdings klappt das nicht.

Habe hier meine JSP-Datei "main.jsp". In der steht folgendes:
Code:
<jsp:useBean id="person" scope="session" class="test.Person"/>
<jsp:setProperty name="person" property="*"/>

Ihr Name: <jsp:getProperty name="person" property="vorname"/>

[url="../main.jsp"]klick mich erneut[/url]

Wenn ich nun den Link anklicke wird die Webseite "main.jsp" zwar erneut geladen, allerdings existiert die Bean dann nicht mehr.

Dasselbe Problem habe ich auch, wenn ich einen Anker anklicke. Hier nochmal die main.jsp:
Code:
...
<jsp:useBean id="person" scope="session" class="test.Person"/>
<jsp:setProperty name="person" property="*"/>

Ihr Name: <jsp:getProperty name="person" property="vorname"/>

<a name="Anfang" id="Anfang"></a>

....

[url="#Anfang"][img]../grafiken/top.gif[/img][/url]

Jemand ne Idee warum meine JavaBean nur so kurzlebig ist?
 

RaoulDuke

Bekanntes Mitglied
Vielleicht weil

Code:
<jsp:setProperty name="person" property="*"/>

alle Felder wieder überschreibt?

Laut Doku:

http://java.sun.com/products/jsp/tags/syntaxref.fm13.html

property="*"

Stores all of the values in the request object parameters (called request parameters) in matching Bean properties. The property names in the Bean must match the request parameters. The parameter names usually come from the elements of an HTML form, and the values come from the data the user enters.

Und wenn du über einen Link die Seite nochmal aufrufst, dann gibts keine Request Parameter und er bügelts wieder über?

Ich hab das aber ehrlichgesagt so noch nie verwendet und weiss nicht wie genau sich jsp:setProperty verhält.

Wenn du dich schon mit Struts beschäftigst... Eigentlich solltest du fast nie einen Grund haben in einer View Komponente soetwas wie da oben zu tun, das kann besser alles in die Action.
 

HyperHyper

Mitglied
Danke für die Antwort. Leider hat das entfernen von:

Code:
<jsp:setProperty name="person" property="*"/>

auch nichts gebracht. Ich brauch nur den Anker anklicken und schon sind alle Daten wieder weg.
 

RaoulDuke

Bekanntes Mitglied
Wo schreibst du denn eigentlich den Wert in die Bean? Wo erzeugst du die "test.Person" Bean und setzt sie unter dem Attribut-Namen "person" in die Session? Die JSP Ausschnitte die du gepostet hast machen ja nur Sinn wenn du die Bean woanders schon erzeugt und gefüllt hast.
 

HyperHyper

Mitglied
Also die Bean wird in einem Servlet erzeugt. Dort wird sie mit Daten gefüllt.

Code:
Person person = new Person();
person.setVorname("Markus");
....
request.setAttribute("person", person);
forward = mapping.findForward("success");
return forward;

Danach dann wird diese mit hilfe von Struts an "main.jsp" gesendet. Dort kommt die Bean auch gut an, ich kann deren Daten auslesen. Sobald ich aber nun zu einer anderen Seite springen möchte, sei es nur dieser Anker oder per <a href..> dann kommt diese Bean dort nicht mehr an (keine Daten vorhanden).

Ich überlege gerade ob ich hier irgendwie falsch vorgehe. Ich möchte halt das die Daten welche in der Bean vorhanden sind, weitergegeben werden auch zu anderen Webseiten meines Projektes. Ist die Bean der falsche Ansatz etwa?
 

RaoulDuke

Bekanntes Mitglied
Na schau mal einger guck..

Code:
request.setAttribute("person", person);

Du speicherst deine Bean im Request Kontext und nicht im Session Kontext, also ist die Bean in dem Moment weg wo der Request endet.

Um zum Thema Struts Taglibs guckt du mal hier:

http://struts.apache.org/1.x/struts-taglib/index.html

Die benutzen sich ganz angenehm für solche Dinge.

Für dich wäre fürs erste bean:write ganz interessant.

http://struts.apache.org/1.2.x/userGuide/struts-bean.html#write[/quote]
 

HyperHyper

Mitglied
RaoulDuke hat gesagt.:
Na schau mal einger guck..

Code:
request.setAttribute("person", person);

Du speicherst deine Bean im Request Kontext und nicht im Session Kontext, also ist die Bean in dem Moment weg wo der Request endet.

Um zum Thema Struts Taglibs guckt du mal hier:

http://struts.apache.org/1.x/struts-taglib/index.html

Die benutzen sich ganz angenehm für solche Dinge.

Für dich wäre fürs erste bean:write ganz interessant.

http://struts.apache.org/1.2.x/userGuide/struts-bean.html#write
[/quote]
Ok danke, wie genau speichere ich meine Bean im SESSION-Kontext?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M (JSP, JavaBean, XML) String zerlegen Allgemeines EE 5
R [JSF] HTML aus JavaBean generieren Allgemeines EE 8
T HTML-FormularDaten in JavaBean Allgemeines EE 4
G Ein JavaBean-Object nur einmal instanzieren. Allgemeines EE 3
H JSP Zugriff auf JavaBean Allgemeines EE 4
E Servlet/JSP/JavaBean- Problem Allgemeines EE 1
P Problem mit JavaBean Allgemeines EE 9
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
pkm Root resource - Klassen werden nicht gefunden. Allgemeines EE 2
M doGet()-Methode wird nicht geladen Allgemeines EE 3
Dimax Servlet läuft in Eclipse, aber nicht im Browser Allgemeines EE 74
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
G Unit Test einer JavaEE Anwendung schlägt fehl. JNDI Name nicht gefunden. Allgemeines EE 3
C Servlet Tomcat/Jersey findet REST-Service nicht Allgemeines EE 3
I XML mit JAXB und Annotations aufbauen klappt nicht wie gewollt Allgemeines EE 5
B Datenbank Resource wird nicht gefunden Allgemeines EE 1
M JSF Binding greift nicht Allgemeines EE 0
OnDemand JSF Stacktrace wird nicht korrekt ausgegeben Allgemeines EE 1
D Remote Aufruf von EJB funktioniert nicht Allgemeines EE 1
D Websocket nach Decoder Annotation nicht mehr erreichbar Allgemeines EE 0
S JEE installation geht nicht? Allgemeines EE 6
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
U @Inject funktioniert nicht Allgemeines EE 3
T wie static aber doch nicht ... Allgemeines EE 8
C Double Eingabe Felder sind nicht Leer Allgemeines EE 1
F SessionScoped und Stateful EJB: Werte werden nicht behalten Allgemeines EE 3
L JSF Primefaces breadcrumb - erstes Element funktioniert nicht Allgemeines EE 0
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
M Konzeptfrage: Applicationserver, oder nicht? Allgemeines EE 4
E CDI mit verschiedenen Jars in EAR klappt auf Jboss AS 7.1.1.Final nicht Allgemeines EE 8
M Daten aus der Resource werden nicht übernommen Allgemeines EE 4
R MavenDependencyResolver nicht auflösbar Allgemeines EE 5
D [Glassfish EJB] OneToMany geht nicht Allgemeines EE 7
G JSF Beans nicht angezeigt Allgemeines EE 2
S JSF und CSS: background:url() geht nicht Allgemeines EE 2
S Eclipse: Teilmodule beim Testen werden nicht gestartet Allgemeines EE 2
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
aze Tomcat:Error Pages werden nicht angezeigt Allgemeines EE 4
M JSP Ausgabe funktioniert nicht Allgemeines EE 4
F Webanwendung startet nicht richtig Allgemeines EE 6
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
B Tomcat6/axis1.4 kann nicht auf Dateien zugreifen Allgemeines EE 3
P Displaytag findet getter-Methode(n) nicht! Allgemeines EE 3
N Tomcat funktioniert nach shutdown/startup nicht mehr korrekt Allgemeines EE 9
Y JSF EJB wird nicht injected Allgemeines EE 18
F REST-Service: GET erkennt Veränderungen an der DB nicht. Allgemeines EE 2
T Applet mit XmlRpc läuft lokal nicht vollständig Allgemeines EE 4
S m2eclips + strust2 == geht nicht Allgemeines EE 5
C TransferObjects's in EJB 3 klappt nicht Allgemeines EE 2
P Kriege JAAS einfach nicht zum Laufen Allgemeines EE 3
A Servlet erkennt request Objekt nicht Allgemeines EE 8
A Java Tomcat findet Website nicht Allgemeines EE 8
D JSF-Tags können nicht aufgelöst werden ? Allgemeines EE 2
D Debug Modus im Glassfish 2.1 plötzlich nicht mehr möglich Allgemeines EE 2
J Einige Klassen werden nicht resolved Allgemeines EE 7
P Eclipse Tomcat Plugin funktioniert nicht mit externem TC-Server? Allgemeines EE 4
P Prozess wird nicht beendet Allgemeines EE 4
B HttpSession bekommen wenn nicht in Servlet Allgemeines EE 8
J Dinge, die man nicht tun sollte Allgemeines EE 6
I Klassen werden nicht für Import erkannt eclipse EE Allgemeines EE 2
S In Eclipse werden die "Servlet-Klassen" nicht gefu Allgemeines EE 2
T web-app läuft nicht Allgemeines EE 5
D ArrayList behält Werte nicht Allgemeines EE 2
D musicplayer spielt mit threads nicht mehr ab Allgemeines EE 3
0 myfaces staret nicht Allgemeines EE 1
A Warum werden die Managed Beans nicht erkannt? Allgemeines EE 3
A Tomcat startet nicht, Einstellungsfehler? Allgemeines EE 3
S MyFaces Sandbox: inputSuggest Komponente furnktioniet nicht Allgemeines EE 11
A cascade funzt nicht Allgemeines EE 8
K JSF Test Anwendung ausführen funktioniert nicht Allgemeines EE 7
B Faces Context nicht gefunden Allgemeines EE 4
M JSF Bilder werden wegen jsessionid nicht gefunden (nur IE) Allgemeines EE 6
K Download Dialog startet nicht Allgemeines EE 2
M Servlet lässt sich nicht aufrufen Allgemeines EE 6
D warum ist gwt nicht beliebt ? Allgemeines EE 2
I Tomahawk funktioniert nicht Allgemeines EE 3
A action-Methode wird nicht aufgerufen Allgemeines EE 7
M taglib wird nicht gefunden Allgemeines EE 9
N JSF + Facelets: Datatable wird nicht angezeigt Allgemeines EE 1
G EJB - EJB wird nicht ins Servlet geladen Allgemeines EE 3
M Resourcen werden in JSP nicht gefunden Allgemeines EE 12
S Verdammt, MyFaces Sandbox 'läuft' nicht Allgemeines EE 7
T Ich raff es nicht . NotSerializableException Allgemeines EE 5
M Servlets | work - Klassen nicht im WAR File Allgemeines EE 5
E HTTP-GET// -->Eine URL aufrufen, aber nicht dahin navigie Allgemeines EE 2
P JSF Seite wird nicht gestartet Allgemeines EE 4
J Direktaufruf einer jsp nicht zulassen Allgemeines EE 2
C WAS findet Jars in EAR nicht? Allgemeines EE 2
L Servlet kann Funktion nicht aufrufen Allgemeines EE 3
B Parameterübergane von Servlet an JSP funktioniert nicht ? Allgemeines EE 2
I JSP - Sinnvoll oder nicht? Allgemeines EE 5
S JSF: Bei Navigation Bilder / Styles nicht mehr verfügbar Allgemeines EE 1
F webanwendung läuft nicht auf Tomcat Allgemeines EE 2
S JBoss gibt POI API nicht frei Allgemeines EE 8
B FileInputStream(sPath); file wird nicht gefunden Allgemeines EE 5
F MyFaces und Tiles: <tiles:insert> wird nicht erkannt Allgemeines EE 10
N JSP kann Servlet nicht aufrufen! :-( Allgemeines EE 2
S Löschen einer Entity kaskadiert nicht auf Collection (1:n) Allgemeines EE 2
S kann eigenes object nicht von applet zu servlet senden Allgemeines EE 3

Ähnliche Java Themen


Oben