lina-: JSTL und Javascript

moin liebes Forum :)

heute habe ich mal ein etwas schwierigeres Problem (zumindest erscheint es mir gerade wie eine riesige Mauer vor dem Ziel).

Ich benutze JSTL und im Zusammenhang damit die Internationalisierung über <fmt:bundle basename="ApplicationResources"></fmt:bundle>.

Wenn ich nun eine Ausgabe in der JSP-Seite machen will wie zum Beispiel <fmt:message key='involve.calendar.days.mo' /> erhalte ich - wie erwartet - "Montag". (So wie ich es halt in der properties-Datei angegeben habe).
Auch ein alert("<fmt:message key='involve.calendar.days.mo' />"); gibt mir den "Montag" aus. Allerdings nur solange ich dieses alert innerhalb der JSP-Seite aufrufe mit einem solchen Konstrukt:

  
<script type="text/javascript" >  
  alert("<fmt:message key='involve.calendar.days.mo' />")  
</script>

Nun mach ich natürlich dieses Javascript in einer externen Datei haben. Leider geht das anscheinend nicht so einfach :( Statt "Montag" bekomme ich nun nur "<fmt:message key='involve.calendar.days.mo' />" ausgegeben. Ist natürlich nicht Sinn der Sache.
Meine erste Vermutung war, dass die Javascript-Datei keine Ahnung von  jstl hat. Also habe ich ihr versucht, dieses Konzept näher zu bringen in dem ich ihr sagte:

  
<%@ taglib uri="/jstl-fmt" prefix="fmt" %>  

So zumindest wird jstl-fmt in JSP-Seiten eingebunden. Die Javascript-DAtei beschwert sich aber nur mit folgender Fehlermeldung:
Fehler: illegal XML character
Quelldatei: https://localhost/js/calendar.js
Zeile: 59, Spalte: 1
Quelltext:
<%@ taglib uri="/jstl-fmt" prefix="fmt" %>

Versucht habe ich ausserdem, das alert ohne Gänsefüßchen aufzurufen alert(<fmt:message key='involve.calendar.days.mo' />);
Dieser klägliche Versuch wird aber nur mit folgender Fehlermeldung quittiert:
Fehler: invalid XML namespace fmt
Quelldatei: https://localhost/js/calendar.js
Zeile: 99, Spalte: 18
Quelltext:
<parent xmlns=''><fmt:message key="involve.calendar.days.mo"/></parent>

Und nun bin ich ratlos und verzweifelt. Hoffe, es findet sich jemand, der mir das Brett vorm Kopp entfernt ;)

liebe Grüße aus Berlin
lina-

--
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  1. Hell-O!

    Wenn ich nun eine Ausgabe in der JSP-Seite machen will wie zum Beispiel <fmt:message key='involve.calendar.days.mo' /> erhalte ich - wie erwartet - "Montag". (So wie ich es halt in der properties-Datei angegeben habe).

    Wenn ich recht informiert bin, wird JSP vor der Ausgabe an den Browser serverseitig geparst (ähnlich wie PHP). Dein Problem scheint mir zu sein, dass deine externes JS-Datei eben nicht geparst wird, sondern "as it is" an den Browser übertragen wird. Eventuell kannst du den Server ja dazu überreden, dein JS vor der Ausgabe ebenfalls zu Parsen.

    Ist nur so 'ne Idee :-)

    Siechfred

    --
    Hier könnte Ihre Werbung stehen.
    Räucherofen selber gebaut || Das Steuerblog  || RT 221 Erfurt-Altstadt i.V.
    1. moin Siechfred :)

      Eventuell kannst du den Server ja dazu überreden, dein JS vor der Ausgabe ebenfalls zu Parsen.

      Das hört sich durchaus logisch an - nur leider weiss ich nicht, wie ich das bewerkstelligen sollte :/

      liebe Grüße aus Berlin
      lina-

      --
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. Hell-O!

        Eventuell kannst du den Server ja dazu überreden, dein JS vor der Ausgabe ebenfalls zu Parsen.
        Das hört sich durchaus logisch an - nur leider weiss ich nicht, wie ich das bewerkstelligen sollte :/

        Hm, leider habe ich von JSP keine Ahnung, aber eventuell könnte man mit Hilfe der Serversoftware was machen (einen Ansatz für Apache, Javascript und SSI hat Gunnar in diesem Posting beschrieben). Oder du generierst die JS-Datei ebenfalls mit Hilfe von JSP, wenn sowas möglich ist. Und als letzten Ausweg könntest du die dynamischen Variablen in deiner JSP-Seite definieren, dann hättest du mit dem ausgelagerten JS-Code keine Probleme mehr, da er dann statisch ist.

        Siechfred

        --
        Hier könnte Ihre Werbung stehen.
        Räucherofen selber gebaut || Das Steuerblog  || RT 221 Erfurt-Altstadt i.V.
        1. moin Siechfred :)

          Und als letzten Ausweg könntest du die dynamischen Variablen in deiner JSP-Seite definieren, dann hättest du mit dem ausgelagerten JS-Code keine Probleme mehr, da er dann statisch ist.

          Da sich anscheinend tatsächlich (leider) keine bessere Lösung findet, habe ich das jetzt getan ;)
          Das Javascript dynamisch zu generieren wäre auch eine Idee gewesen - fand ich aber für dieses kleine Projekt zu aufwendig.

          Vielen Dank für dein Mitdenken :)

          liebe Grüße aus Berlin
          lina-

          --
          Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)