Trotz es gibt eine Menge Diskussion um Freemarker + Frühling daher ist es schwierig zu finden ordentlich funktionierendes Beispiel zu kopieren und zu laufen.
Könnten Sie bitte die einfachste funktionierende Konfiguration von Freemarker im Frühjahr xml context und java code snippet bereitstellen, um die Vorlage aus der Ressourcendatei zu laden und zu verarbeiten.Freimarker + Feder Konfiguration und einfachste Beispiel
Antwort
pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
applicationContext.xml
<bean id="freeMarkerConfigurationFactory" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="classpath:/META-INF/freemarker"/>
<property name="preferFileSystemAccess" value="false"/>
</bean>
AlertMailComposer.java
import static org.springframework.ui.freemarker.FreeMarkerTemplateUtils.processTemplateIntoString;
@Component
public class AlertMailComposer implements Processor {
public static final String TEMPLATE = "AlertMail.ftl";
@Autowired
private Configuration freemarkerConfiguration;
protected String composeHtml(Alert alert) throws IOException, TemplateException {
return processTemplateIntoString(freemarkerConfiguration.getTemplate(TEMPLATE), ImmutableMap.of(
"alertType", alert.getAlertType(),
"message", alert.getMessage(),
"nodeName", alert.getEvent().getNodeName(),
"event", toJson(alert.getEvent(), true)
));
}
...
AlertMail.ftl
<html>
<body style="font-family:verdana;font-size:10">
<b>${alertType}: </b>${message}<br>
<b>on: </b>${nodeName}<br>
<p/>
<pre style="font-family:verdana;font-size:10;color:grey">
${event}
</pre>
</body>
</html>
Bestes Arbeitsbeispiel. Sie können den Quellcode here herunterladen.
Danke für Ihre Antwort, ich habe bereits durch diesen Blog gearbeitet und es ist gut. Aber es ist eng an das Webprojekt-Layout gebunden. Was ich suche, ist 'Vorlage von Ressource laden und Platzhalter ersetzen' so einfach wie möglich. –
Im Frühjahr Kontext xml, FreemarkerConfigurationFactoryBean
erklärt genügt, das heißt
<bean id="freemarkerConfigFactory" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="classpath:templates/"/>
</bean>
Keine Notwendigkeit, weitere freemarker.template.Configuration
Bean in der XML-Datei angeben, wenn Sie @Autowired
Anmerkung verwenden. Es wird von der Fabrik erstellt und von Spring injiziert.
Anders als Maven Abhängigkeit in pom.xml im Frühjahr mit Java-Konfiguration zu verwenden, die Sie tun können -
public class MyWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[] { MyRootContextConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class<?>[] { MyServletContextConfig.class };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/test/*" };
}
}
und dann kann MyRootContextConfig
haben
@Bean(name = "myFreeMarkerConfigruation")
public FreeMarkerConfigurationFactoryBean getFreeMarkerConfiguration() {
FreeMarkerConfigurationFactoryBean bean = new FreeMarkerConfigurationFactoryBean();
bean.setTemplateLoaderPath("classpath:/templates/");
return bean;
}
- 1. Hazelcast Feder Konfiguration
- 2. Konfiguration der Feder servlet.xml
- 3. Und in Freimarker
- 4. Feder Sicherheit oauth2 Classcast Konfiguration DefaultTokenServices
- 5. feder + überwintern + c3p0 + ehcache java konfiguration
- 6. Willst Feder Integration amqp dsl Beispiel
- 7. Was ist die sicherste, einfachste und vielseitigste Proguard-Konfiguration?
- 8. Was ist das einfachste Beispiel für Spring OAuth2 mit Java-Konfiguration?
- 9. Feder MVC @Controller und Profile
- 10. Verkettungszeichenfolgen in Freimarker
- 11. java.lang.NoClassDefFoundError: Freimarker/template/TemplateModelException
- 12. Freimarker - Variablenname mit Punkt
- 13. Unterschied zwischen Feder IOC und Feder AOP
- 14. Feder Batch-Konfiguration Das Element ist nicht erreichbar
- 15. Format Freimarker-Dateien in Eclipse
- 16. Handle Null rekursiv in Freimarker
- 17. Alternierende Tabellenreihe Farben in Freimarker
- 18. Hibernate jpa mit Java-Konfiguration mit Feder anstelle von xml
- 19. BadRequest auf modifizierten Feder OAuth2 Beispiel royclarkson Github
- 20. Hangfire Konfiguration und Ninject Konfiguration
- 21. Zugriff verknüpfte benutzerdefinierte Feldwerte in Freimarker
- 22. Das einfachste Beispiel für das Überschreiben von Methoden mit Generics
- 23. Feder-Batch: Bedingter Fluss
- 24. Unterschied zwischen Feder tx: Beratung und Feder aop pointcut
- 25. Feder Sicherheitsset abgelaufene URL
- 26. Mit Jersey-Feder mit Feder 4.0
- 27. Feder boot: die Elasticsearch Konfiguration zu ignorieren und endet mit Ausnahme org.springframework.beans.factory.NoSuchBeanDefinitionException
- 28. Integrieren von JSF und Feder
- 29. feder Boot-Abhängigkeiten und Sicherheitsupdates
- 30. Feder- und Grails-Projekte zusammenführen
Dieses Beispiel ist mit Java-basierten Konfigurations und verwendet immer noch ein Web-Projekt, aber das ist, was ich referenziere: https://github.com/edendramis/freemarker-example – ratherblue