类 FreeMarkerConfigurer
- java.lang.Object
- org.springframework.ui.freemarker.FreeMarkerConfigurationFactory
- org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer
public class FreeMarkerConfigurer extends FreeMarkerConfigurationFactory implements FreeMarkerConfig, InitializingBean, ResourceLoaderAware, ServletContextAware
JavaBean to configure FreeMarker for web usage, via the "configLocation" and/or "freemarkerSettings" and/or "templateLoaderPath" properties. The simplest way to use this class is to specify just a "templateLoaderPath"; you do not need any further configuration then.<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"><value>/WEB-INF/freemarker/</value></property> </bean>
This bean must be included in the application context of any application using Spring's FreeMarkerView for web MVC. 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. Each DispatcherServlet can define its own FreeMarkerConfigurer if desired.Note that you can also refer to a preconfigured FreeMarker Configuration instance, for example one set up by FreeMarkerConfigurationFactoryBean, 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.- 从以下版本开始:
- 03.03.2004
- 作者:
- Darren Davison, Rob Harrop
- 另请参阅:
FreeMarkerConfigurationFactory.setConfigLocation(org.springframework.core.io.Resource)
,FreeMarkerConfigurationFactory.setFreemarkerSettings(java.util.Properties)
,FreeMarkerConfigurationFactory.setTemplateLoaderPath(java.lang.String)
,setConfiguration(freemarker.template.Configuration)
,FreeMarkerConfigurationFactoryBean
,FreeMarkerView
字段概要
从类继承的字段 org.springframework.ui.freemarker.FreeMarkerConfigurationFactory
logger
构造器概要
构造器 构造器 说明 FreeMarkerConfigurer()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
afterPropertiesSet()
Initialize FreeMarkerConfigurationFactory's Configuration if not overridden by a preconfigured FreeMarker Configuration.freemarker.template.Configuration
getConfiguration()
Return the Configuration object wrapped by this bean.freemarker.ext.jsp.TaglibFactory
getTaglibFactory()
Return the TaglibFactory 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 preconfigured Configuration to use for the FreeMarker web config, e.g. a shared one for web and email usage, set up via FreeMarkerConfigurationFactoryBean.void
setServletContext(ServletContext servletContext)
Initialize theTaglibFactory
for the given ServletContext.从类继承的方法 org.springframework.ui.freemarker.FreeMarkerConfigurationFactory
createConfiguration, getAggregateTemplateLoader, getResourceLoader, getTemplateLoaderForPath, isPreferFileSystemAccess, newConfiguration, postProcessConfiguration, setConfigLocation, setDefaultEncoding, setFreemarkerSettings, setFreemarkerVariables, setPostTemplateLoaders, setPreferFileSystemAccess, setPreTemplateLoaders, setResourceLoader, setTemplateLoaderPath, setTemplateLoaderPaths
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.springframework.context.ResourceLoaderAware
setResourceLoader
构造器详细资料
FreeMarkerConfigurer
public FreeMarkerConfigurer()
方法详细资料
setConfiguration
public void setConfiguration(freemarker.template.Configuration configuration)
Set a preconfigured Configuration to use for the FreeMarker web config, e.g. a shared one for web and email usage, set up via FreeMarkerConfigurationFactoryBean. If this is not set, FreeMarkerConfigurationFactory's properties (inherited by this class) have to be specified.
setServletContext
public void setServletContext(ServletContext servletContext)
Initialize theTaglibFactory
for the given ServletContext.- 指定者:
setServletContext
在接口中ServletContextAware
- 参数:
servletContext
- the ServletContext object to be used by this object- 另请参阅:
InitializingBean.afterPropertiesSet()
,ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
afterPropertiesSet
public void afterPropertiesSet() throws IOException, freemarker.template.TemplateException
Initialize FreeMarkerConfigurationFactory's Configuration if not overridden by a preconfigured FreeMarker Configuration.Sets up a ClassTemplateLoader to use for loading Spring macros.
- 指定者:
afterPropertiesSet
在接口中InitializingBean
- 抛出:
IOException
freemarker.template.TemplateException
- 另请参阅:
FreeMarkerConfigurationFactory.createConfiguration()
,setConfiguration(freemarker.template.Configuration)
postProcessTemplateLoaders
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.- 覆盖:
postProcessTemplateLoaders
在类中FreeMarkerConfigurationFactory
- 参数:
templateLoaders
- the current List of TemplateLoader instances, to be modified by a subclass- 另请参阅:
FreeMarkerConfigurationFactory.createConfiguration()
,FreeMarkerConfigurationFactory.setPostTemplateLoaders(freemarker.cache.TemplateLoader...)
getConfiguration
public freemarker.template.Configuration getConfiguration()
Return the Configuration object wrapped by this bean.- 指定者:
getConfiguration
在接口中FreeMarkerConfig
- 返回:
- the FreeMarker Configuration
getTaglibFactory
public freemarker.ext.jsp.TaglibFactory getTaglibFactory()
Return the TaglibFactory object wrapped by this bean.- 指定者:
getTaglibFactory
在接口中FreeMarkerConfig