2010-07-01 5 views

Antwort

25

Import Frühling Makro

<#import "/spring.ftl" as spring/> 

Dann

<@spring.message "yourMessageKeyGoesHere"/> 

Aber Sie ResourceBundleMessageSource

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> 
    <property name="basename" value="messages"/> 
</bean> 

Beachten Sie Message registrieren müssen müssen genannt werden Message

+1

so muss jede freimarker Vorlage importiert werden? – Blankman

+0

@Blankman Ich bin mir nicht sicher, aber ich denke schon –

+0

Wie ich mich erinnere, können Sie eine Vorlage standardmäßig importieren. @Blankman: Sie können auf Freemarker Dokumente verweisen. –

12

@Blankman

Nein, Sie müssen diese in jeder Vorlage nicht manuell importieren. Sie können eine auto_import-Eigenschaft in Ihren Freimarker-Einstellungen festlegen, wie unten gezeigt.

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> 
    ... 

    <property name="freemarkerSettings"> 
     <props> 
      <prop key="auto_import">spring.ftl as spring</prop> 
     </props> 
    </property> 
</bean> 
+1

Ich habe das gleiche für spring.ftl über Auto-Import versucht es gibt 'java.io.FileNotFoundException: Vorlage spring.ftl nicht gefunden' –

+1

Wechseln Sie zu /spring.ftl /spring.ftl als Feder

1

Andere sind gute Antworten. Java config als Beispiel für diejenigen, die das verwenden.

@Bean(name = "freemarkerConfig") 
public FreeMarkerConfigurer freemarkerConfig() { 
    FreeMarkerConfigurer configurer = new FreeMarkerConfigurer(); 
    configurer.setTemplateLoaderPaths("/WEB-INF/views/", 'classpath:/templates'); 
    Map<String, Object> map = new HashMap<>(); 
    map.put("xml_escape", new XmlEscape()); 
    configurer.setFreemarkerVariables(map) 
    def settings = new Properties() 
    settings['auto_import'] = 'spring.ftl as spring,layout/application.ftl as l,/macros/meh.ftl as meh' 
    configurer.setFreemarkerSettings(settings) 
    log.info "returning freemarker config" 
    return configurer; 
}