Frage

Ich versuche, eine struts2 Komponente mit Freemarker zu erstellen. Ich habe eine ftl Datei mit Code wie folgt:

<script type="text/javascript" src="${parameters.library?default('')}"></script>

, die einen Parameter namens library erwartet an die Komponente übergeben werden. Wenn der Parameter nicht vorhanden ist, dann wird standardmäßig ein leeres String.

Auf meiner JSP-Seite, ich beziehe mich auf die Komponente wie folgt aus:

<s:component template="mytemplate.ftl">
    <s:param name="library" value="/scripts/mylibrary.js"/>
</s:component>

Leider ist der Wert für die Bibliothek Parameter nicht gesetzt werden. Es ist immer eine leere String.

Ich bin mit dem Rat von diesem Tutorial und es scheint, als ob die s:param Tag soll den Parameter in die Vorlage übergeben und zur Verfügung stellen. Was bin ich hier?

Hat jemand eine gewisse Erfahrung, diese Komponenten bauen, die etwas Licht könnte?

Danke.

War es hilfreich?

Lösung

die param mit einfachen Anführungszeichen senden

<s:component template="mytemplate.ftl">
    <s:param name="library" value="'/scripts/mylibrary.js'"/>
</s:component>

Andere Tipps

Ich lief schließlich über einige Syntax in der Dokumentation, die funktionieren. Ich habe auf die Parameter wie folgt beziehen:

<script type="text/javascript" src="${parameters.get('library')?default('')}">
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top