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 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.
TODO: macros
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 Configuation.
|
freemarker.template.Configuration |
getConfiguration()
Return the Configuration object wrapped by this bean.
|
protected void |
postProcessTemplateLoaders(java.util.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, setTemplateLoaderPaths
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setResourceLoader
public void setConfiguration(freemarker.template.Configuration configuration)
public void afterPropertiesSet() throws java.io.IOException, freemarker.template.TemplateException
Sets up a ClassTemplateLoader to use for loading Spring macros.
afterPropertiesSet
in interface InitializingBean
java.io.IOException
freemarker.template.TemplateException
FreeMarkerConfigurationFactory.createConfiguration()
,
setConfiguration(freemarker.template.Configuration)
protected void postProcessTemplateLoaders(java.util.List<freemarker.cache.TemplateLoader> templateLoaders)
postProcessTemplateLoaders
in class FreeMarkerConfigurationFactory
templateLoaders
- 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