Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 |
|
Beiträge: n/a
| 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). |
|
| | Nach oben #2 |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 3.812
| 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. |
| | |
| | Nach oben #3 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.500
| 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 |
| | |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:38 Uhr.
Nach oben






