Portal > Foren > Java > Enterprise Java > ein kleiner Schritt für einen Profi, ein großer für mich... helft mir bitte!!!
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 24.01.2007, 14:36 Nach oben    #1
triggersbabe
Gast
 
Beiträge: n/a
Standard ein kleiner Schritt für einen Profi, ein großer für mich... helft mir bitte!!!

Moinsen,

zuerst: ich bin neu hier, dies ist mein erster Eintrag. Wenn ich also irgendwas falsch mache, an die falsche Stelle poste oder sonst was - tut mir leid. Weist mich drauf hin, dan klappts nächstes Mal besser

Also das Thema: Es geht um eine Webanwendung, die mit Hilfe einer MySQL-DB, EJBs und dem Struts Framework realisiert ist und derzeit nur zu Testzwecken auf einem JBOSS AS läuft.. mehr sollte nicht wichtig sein. Ach ja: Die Architektur ist MVC - klar!

Das Problem ist eher ein Struts-Problem, denke ich. Vllt auch hängt es auch mit dem Controller zusammen.

Folgende Situation:

Ich habe mehrere (sehr viele) verschiedene jsp-Seiten (z.b. seiteA.jsp und seiteB, etc..), die jedoch alle dasselbe Formular (formular.jsp) über ein <%@ include ...@%> einbinden.

In dem Formular soll die Anwendungssprache geändert werden können (realisiert über resources-bundles und setLocale() - Nebensache, funzt).
Wenn das Formular abgeschickt wird (z.B. über einen submit-Button) soll auf die ursprüngliche Seite (seiteA.jsp oder seiteB.jsp) ein Refresh ausgeführt werden, damit sich auch für den User sichtbar die Sprache ändert.


Hier liegt jedoch das Problem!
Normalerweise gebe ich in der struts-config.xml im <action-mapping> ein oder mehrere <forward> an, welche konkrete Ziele definieren. Da das Formular jedoch von sehr vielen unterschiedlichen jsp-Seiten aufgerufen werden kann, ist das hier nicht möglich. Auch mit einem Global Forward habe ich es nicht hinbekommen.

Ich habe bis jetzt zwei Lösungsansätze gefunden, die jedoch beide nicht zufriedenstellen - ja sogar böse sind:

1. Lösungsansatz
Ich übergebe den ursprünglichen Seitennamen in einem Attribut direkt im session-context und lese ihn in der Action aus. Für jeden Seitennamen existiert dann ein <forward> im entsprechenden <action-mapping>.
Dies ist sehr wartungsintensiv, weil es in jeder Action gemacht werden muss. Außerdem wiederspricht es der MVC-Architektur - ist also böse.

2. Lösungsansatz
Man könnte die Funktion mit Hilfe einer Javascript-Funktion und eines Meta-Refreshs lösen - furchtbar böse, ich weiß. Außerdem funktioniert es nicht mehr, wenn im Browser Javascript deaktiviert ist.

Hätte jemand eine Lösung für mich, wie ich hier weiterkommen kann?
Ich suche seit Wochen im Netz und beginne allmählich an der Erhabenheit der struts-config.xml zu zweiflen.

Geändert von triggersbabe (24.01.2007 um 14:47 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.01.2007, 02:17 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Hi,
ich habe jetzt echt mal keine Ahnung von JSP, demnach weiß ich nicht, ob es dort nicht so etwas wie $_SERVER['PHP_SELF'] o.Ä. in PHP gibt!?
Quasi eine Variable, die standardmäßig die Angabe enthält, wie die aktuell aufgerufene Seite heißt und die vor allem global verfügbar ist?! Glaub ich ja eher nicht, aber ich erwähne es einfach mal.

Als Workaround kannst du ja die aktuelle Seite über ein verstecktes Eingabefeld an den Java-Code übertragen und dann damit arbeiten?

Nur so als Ideen. Ich weiß nicht, inwiefern man da etwas von umsetzen kann.

Grüße, Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.01.2007, 10:17 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.653
Standard

vielleicht hilft dir das:
http://arcims.hamm.de/tomcat-docs/servletapi/index.html

Das benutzen wir hier auf Arbeit für unseren Controller.
__________________
I did it my way - Senseless-Blog
Weihnachtsgeschenk? Schülern helfen - Bodypainting Kalender für 2009
WarrenFaith ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45