2017-08-30 1 views
1

Ich habe drei sehr einfach Dateien:umfassen Parsen nicht Vorlagendatei

main.ftl

<#include "header.ftl"> 

<h1>Test</h1> 

<#include "footer.ftl"> 

header.ftl

<h1>Header</h1> 

footer.ftl

<h1>Footer</h1> 

Technisch sollte es Ausgabe drei h1 ist jedoch meine tatsächliche Leistung ist:

  1. ich gelesen, dass abhängig von der Konfiguration die Halterungen für FTL von < und >-[ ändern könnte und ], ich habe versucht, aber immer noch nichts zu ändern.
  2. Ich habe die * Wildcard verwendet, die übergeordnete Verzeichnisse und das aktuelle Verzeichnis überprüft und immer noch kein Glück.
  3. Freemarker Dokumentation besagt, dass standardmäßig die include Richtlinie den Inhalt als Datei .ftl parst so sollte ich keine Probleme haben:

Parse: Wenn es wahr ist, dann wird die enthaltene Datei analysiert werden als FTL, ansonsten wird die gesamte Datei als einfacher Text betrachtet (dh es werden keine FreeMarker-Konstrukte darin durchsucht). Wenn Sie diese Option weglassen, wird standardmäßig "true" verwendet.

Warum wird meine Vorlage nicht geparst?

Antwort

0

Es stellte sich heraus Freemarker nicht verarbeitet wurde die .ftl Datei als eine tatsächliche .ftl Datei als der Server den Inhalt als .jsp Datei Rendering wurde, zu beheben ich geändert:

<view-map name="frs" page=""> 

zu,

<view-map name="frs" type="screen" page="component://ecommerce/widget/CommonScreens.xml#your-identifier"/> 

die die Rendering fixiert. Wenn die Eigenschaft type nicht definiert ist, wird sie automatisch als JSP-Datei gerendert.

0

Von .

<#include "/common/copyright.ftl"> 

Also nehme ich an, dass die Fußzeile und die Kopfzeile im selben Ordner wie Ihre Hauptdatei sind. Sie werden also so etwas wie zu tun haben:

<#include "*/header.ftl"> 
<#include "*/footer.ftl"> 
+0

Versucht, funktioniert nicht. – Script47

+0

Erhalten Sie den gleichen Fehler? –

+0

Ja, es wird nicht analysiert. – Script47

1

Aus Gründen der Zukunft Leser ... Die #include Richtlinie nie gibt sich wie <#include ...> (so wie Sie jetzt wissen, ist es main.ftl, die nicht Freemarker übergeben wird).Sein parse Parameter gilt für die Includ Ed Datei. Auch wenn eine Vorlage nicht gefunden wird, wird eine Ausnahme ausgelöst und nicht willkürlich wie das Drucken <#include ...>.