Peter: JSP includes

Hallo,

Ich habe folgendes Problem :
Ich würde gerne , template-mäßig, in meine JSP Seite externe Dateien einfügen. Das geht ja wunderbar wenn ich
<%@ include file="xy.tpl" %> benutze. Da das ganze aber dynamisch sein soll (z.B. für verschiedene Sprachen etc.) würde ich gerne aus einer Datenbank die URL zu der bestimmten template -datei lesen und dann entpsrechend dort eintragen, also ungefähr so :
<%@ include file="xy_"+templateURL+".tpl" %>

Da das zu einfach wäre geht es natürlich nicht so...hat jemand eine idee wie ich das sonst realisieren könnte ? Also eine Variable in der direktiven einbinden ?

Danke und Gruss
Peter

  1. hallo Peter,

    Da das zu einfach wäre geht es natürlich nicht so...hat jemand eine idee wie ich das sonst realisieren könnte ?

    Im Moment zwar keine unmittelbar weiterführende Idee, aber einen Hinweis: dir ist http://www.jsp-develop.de/forum bekannt? Solche Fragen werden genau dort erschöpfend behandelt.

    Grüße aus Berlin

    Christoph S.

    1. Danke , ich haeb mir die Seite gerade angeschaut, entweder ich bin blind oder es steht da wirklich nichts darüber...ich finde einige Sachen die in die grobe richtung gehen aber für das Problem habe ich keine Lösung gefunden...

      Gruss
      Peter

      hallo Peter,

      Da das zu einfach wäre geht es natürlich nicht so...hat jemand eine idee wie ich das sonst realisieren könnte ?

      Im Moment zwar keine unmittelbar weiterführende Idee, aber einen Hinweis: dir ist http://www.jsp-develop.de/forum bekannt? Solche Fragen werden genau dort erschöpfend behandelt.

      Grüße aus Berlin

      Christoph S.

      1. Hab gerade die KLösung gefunden...

        <jsp:include page='<%= var %>' flush="true" />

  2. Hallo,

    die Lösung hast du ja schon gefunden. Ich wollte dich nur darüber
    informieren, wie du selbst rausfinden kannst, ob du dir einen Attribut-
    Wert selbst zusammenbauen darfst, so daß etwas ähnliches wie das
    folgende funktioniert:

    <%@ include file="xy_"+templateURL+".tpl" %>

    Auf der Sun-Seite gibt es die sog. JSP Cards, auf denen in Kurzform
    alle JSP-Tags inkl. ihrer Attribut und erlaubter Werte aufgeführt
    sind.
    Wenn du dir die Karte für JSP2.0 anschaust, findest du auf Seite 2
    in der unteren Hälfte das von dir o.g. <%@include ...%>. Hier ist
    aber laut der Card nur die Angabe einer relativen URL erlaubt:

    <%@ include file="relativeURL" %>

    Was du brauchst, ist aber eine <%= expression %>.

    Wenn du weiter runterscrollst, bis zur Seite 6, findest du das von
    dir als Lösung angegebene <jsp:include ...>. Hier sind dann als Wert
    von "page=" Expressions erlaubt:

    <jsp:forward page="{relativeURL | '${' Expression'}' | <%= expression %> ">

    Vielleicht hilft dir diese Info ja bei zukünftigen Problemen ähnlicher
    Natur weiter...

    Gruß
    Slyh