2016-04-01 6 views
0

Kurze Frage: Ist es möglich, Freemarker Richtlinie FormatDirective.java die TemplateDirectiveModel wie diese direkt von meiner FTL implementiert zu nennen:Wie FreeMarker Direktive von ftl Vorlage direkt aufrufen?

<#assign formattedPhoneNumber = "com.myapp.utils.FormatDirective"?new(phoneNumber)> 


Detaillierte Frage: Es ist Spring MVC Web-Anwendung, die hat seine Ansichten mit FreeMarker geschrieben, es gibt überhaupt keine Java-configs und ich habe nur FreeMarkerConfigurer und FreeMarkerViewResolver Beans richtig definiert und konfiguriert in root-context.xml.

Ich möchte Java-Konfigurationen vermeiden (z. B. das Hinzufügen von Vorlagen zu Modellen oder Variablen). Und was ist der richtige Weg, um Java-Direktiven zum Laufen zu bringen? Ich finde kein gründliches Tutorial oder Beispiel.

Dank

Antwort

0

Sie könnten Ihre häufig verwendeten Richtlinien und Funktionen in so etwas wie my-commons.ftl sammeln:

<#assign format = "com.myapp.utils.FormatDirective"?new()> 
... 

dann in Ihre Vorlagen:

<#import "my-commons.ftl" as my> 
... 
<@my.format value=phoneNumber /> 
+0

Danke für Ihre Antwort! Ist es erforderlich, die Direktiveninstanz zu View-Modell hinzuzufügen oder als freigegebene Variable aus XML-Konfigurationen zu definieren? Oder sollte es so funktionieren, wie du es beschrieben hast ohne irgendwelche anderen Konfigurationen? – Cortex

+0

Es sollte ohne Konfiguration funktionieren, da die importierte Vorlage selbst auf die zu instanziierende Klasse verweist. – ddekany

+0

Ich werde versuchen, mich an Sie zu wenden, danke! – Cortex

Verwandte Themen