public class FreeMarkerConfigurer extends FreeMarkerConfigurationFactory implements FreeMarkerConfig, InitializingBean, ResourceLoaderAware
This bean must be included in the application context of any application
using FreeMarkerView. It exists purely to configure FreeMarker.
It is not meant to be referenced by application components but just internally
by FreeMarkerView. Implements FreeMarkerConfig to be found by
FreeMarkerView without depending on the bean name of the configurer.
Note that you can also refer to a pre-configured FreeMarker Configuration instance via the "configuration" property. This allows to share a FreeMarker Configuration for web and email usage for example.
This configurer registers a template loader for this package, allowing to reference the "spring.ftl" macro library contained in this package:
<#import "/spring.ftl" as spring/>
<@spring.bind "person.age"/>
age is ${spring.status.value}
Note: Spring's FreeMarker support requires FreeMarker 2.3 or higher.logger| Constructor and Description |
|---|
FreeMarkerConfigurer() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet()
Initialize FreeMarkerConfigurationFactory's Configuration
if not overridden by a pre-configured FreeMarker Configuration.
|
freemarker.template.Configuration |
getConfiguration()
Return the Configuration object wrapped by this bean.
|
protected void |
postProcessTemplateLoaders(List<freemarker.cache.TemplateLoader> templateLoaders)
This implementation registers an additional ClassTemplateLoader
for the Spring-provided macros, added to the end of the list.
|
void |
setConfiguration(freemarker.template.Configuration configuration)
Set a pre-configured Configuration to use for the FreeMarker web config,
e.g.
|
createConfiguration, getAggregateTemplateLoader, getResourceLoader, getTemplateLoaderForPath, isPreferFileSystemAccess, newConfiguration, postProcessConfiguration, setConfigLocation, setDefaultEncoding, setFreemarkerSettings, setFreemarkerVariables, setPostTemplateLoaders, setPreferFileSystemAccess, setPreTemplateLoaders, setResourceLoader, setTemplateLoaderPath, setTemplateLoaderPathsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetResourceLoaderpublic void setConfiguration(freemarker.template.Configuration configuration)
public void afterPropertiesSet()
throws IOException,
freemarker.template.TemplateException
Sets up a ClassTemplateLoader to use for loading Spring macros.
afterPropertiesSet in interface InitializingBeanIOExceptionfreemarker.template.TemplateExceptionFreeMarkerConfigurationFactory.createConfiguration(),
setConfiguration(freemarker.template.Configuration)protected void postProcessTemplateLoaders(List<freemarker.cache.TemplateLoader> templateLoaders)
postProcessTemplateLoaders in class FreeMarkerConfigurationFactorytemplateLoaders - the current List of TemplateLoader instances,
to be modified by a subclassFreeMarkerConfigurationFactory.createConfiguration(),
FreeMarkerConfigurationFactory.setPostTemplateLoaders(freemarker.cache.TemplateLoader...)public freemarker.template.Configuration getConfiguration()
getConfiguration in interface FreeMarkerConfig