Announcement

Collapse
No announcement yet.

Tiles & i18n

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tiles & i18n

    Hallo Leute,
    Ich möchte meiner Webapp gerne per Struts Internationalisierung aufrüsten und stehe vor folgendem Problem. Wenn ein Nutzer durch meine Applikation surft, so soll er zu jeder Zeit die Gelegenheit haben, die Sprache der aktuell geladenen Seite zu ändern. Im Klartext heißt das für mich, ich rufe eine Action auf, welche das Locale ändert (so weit so gut), doch scheiter ich beim forwarden. Ich muss der Applikation irgendwie mitteilen von welcher Seite der Nutzer die Action aufgerufen hat und ihn dann wieder dahin zurückbringen. Aber wie ????
    Hab mir schon gut den Kopf darüber zerbrochen, aber ich komme auf keinen grünen Zweig.
    Vielen Dank schon mal für etwaige Hilfe
    Grüße Mark

  • #2
    Hallo Mark,

    Ich hab mir mal eine Art NavigationController geschrieben der sich einfach jede ausgeführte Action merkt (bis zu 10 Einträge oder so). Im Prinzip muß nur jede Action die auf eine JSP weiterleitet ihren Pfad (mapping.getPath()) dem Controller mitteilen. Dazu kann man sich eine Basisklasse in der Art AbstractViewAction oder so ähnlich bauen, die genau das tut. Nun kann man sich beispielsweise eine generische "StayOnPageAction" bauen, die einfach auf den zuletzt gemerkten Pfad weiterleitet:

    <PRE>
    return new ActionForward(navigationController.getLastPath());
    </PRE>

    Die Action zur Sprachumschaltung (und jede andere, die auf derselben Seite bleiben soll) leitet einfach auf diese generische "StayOnPageAction" weiter. Natürlich kann man auch mit Hilfe einer "GoBackAction" mehrere Seiten zurück springen (falls man das braucht).

    Gruß,

    Alwi

    Comment


    • #3
      Hi Alwin,
      danke für die schnelle Antwort und für den guten Tipp!

      Gruß Mar

      Comment

      Working...
      X