类 GroovyMarkupConfigurer
- java.lang.Object
- groovy.text.markup.TemplateConfiguration
- org.springframework.web.servlet.view.groovy.GroovyMarkupConfigurer
public class GroovyMarkupConfigurer extends groovy.text.markup.TemplateConfiguration implements GroovyMarkupConfig, ApplicationContextAware, InitializingBean
An extension of Groovy'sTemplateConfiguration
and an implementation of Spring MVC'sGroovyMarkupConfig
for creating aMarkupTemplateEngine
for use in a web application. The most basic way to configure this class is to set the "resourceLoaderPath". For example:// Add the following to an @Configuration class @Bean public GroovyMarkupConfig groovyMarkupConfigurer() { GroovyMarkupConfigurer configurer = new GroovyMarkupConfigurer(); configurer.setResourceLoaderPath("classpath:/WEB-INF/groovymarkup/"); return configurer; }
By default this bean will create aMarkupTemplateEngine
with:- a parent ClassLoader for loading Groovy templates with their references
- the default configuration in the base class
TemplateConfiguration
- a
TemplateResolver
for resolving template files
MarkupTemplateEngine
instance directly to this bean in which case all other properties will not be effectively ignored.This bean must be included in the application context of any application using the Spring MVC
GroovyMarkupView
for rendering. It exists purely for the purpose of configuring Groovy's Markup templates. It is not meant to be referenced by application components directly. It implements GroovyMarkupConfig to be found by GroovyMarkupView without depending on a bean name. Each DispatcherServlet can define its own GroovyMarkupConfigurer if desired.Note that resource caching is enabled by default in
MarkupTemplateEngine
. Use theTemplateConfiguration.setCacheTemplates(boolean)
to configure that as necessary.Spring's Groovy Markup template support requires Groovy 2.3.1 or higher.
- 从以下版本开始:
- 4.1
- 作者:
- Brian Clozel, Rossen Stoyanchev
- 另请参阅:
GroovyMarkupView
, Groovy Markup Template engine documentation
构造器概要
构造器 构造器 说明 GroovyMarkupConfigurer()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
afterPropertiesSet()
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.protected ClassLoader
createTemplateClassLoader()
Create a parent ClassLoader for Groovy to use as parent ClassLoader when loading and compiling templates.protected groovy.text.markup.MarkupTemplateEngine
createTemplateEngine()
protected ApplicationContext
getApplicationContext()
String
getResourceLoaderPath()
groovy.text.markup.MarkupTemplateEngine
getTemplateEngine()
Return the GroovyMarkupTemplateEngine
for the current web application context.protected URL
resolveTemplate(ClassLoader classLoader, String templatePath)
Resolve a template from the given template path.void
setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in.void
setLocale(Locale locale)
This method should not be used, since the considered Locale for resolving templates is the Locale for the current HTTP request.void
setResourceLoaderPath(String resourceLoaderPath)
Set the Groovy Markup Template resource loader path(s) via a Spring resource location.void
setTemplateEngine(groovy.text.markup.MarkupTemplateEngine templateEngine)
Set a pre-configured MarkupTemplateEngine to use for the Groovy Markup Template web configuration.从类继承的方法 groovy.text.markup.TemplateConfiguration
getAutoIndentString, getBaseTemplateClass, getDeclarationEncoding, getLocale, getNewLineString, isAutoEscape, isAutoIndent, isAutoNewLine, isCacheTemplates, isExpandEmptyElements, isUseDoubleQuotes, setAutoEscape, setAutoIndent, setAutoIndentString, setAutoNewLine, setBaseTemplateClass, setCacheTemplates, setDeclarationEncoding, setExpandEmptyElements, setNewLineString, setUseDoubleQuotes
构造器详细资料
GroovyMarkupConfigurer
public GroovyMarkupConfigurer()
方法详细资料
setResourceLoaderPath
public void setResourceLoaderPath(String resourceLoaderPath)
Set the Groovy Markup Template resource loader path(s) via a Spring resource location. Accepts multiple locations as a comma-separated list of paths. Standard URLs like "file:" and "classpath:" and pseudo URLs are supported as understood by Spring'sResourceLoader
. Relative paths are allowed when running in an ApplicationContext.
getResourceLoaderPath
public String getResourceLoaderPath()
setTemplateEngine
public void setTemplateEngine(groovy.text.markup.MarkupTemplateEngine templateEngine)
Set a pre-configured MarkupTemplateEngine to use for the Groovy Markup Template web configuration.Note that this engine instance has to be manually configured, since all other bean properties of this configurer will be ignored.
getTemplateEngine
public groovy.text.markup.MarkupTemplateEngine getTemplateEngine()
从接口复制的说明:GroovyMarkupConfig
Return the GroovyMarkupTemplateEngine
for the current web application context. May be unique to one servlet, or shared in the root context.- 指定者:
getTemplateEngine
在接口中GroovyMarkupConfig
- 返回:
- the Groovy MarkupTemplateEngine engine
setApplicationContext
public void setApplicationContext(ApplicationContext applicationContext)
从接口复制的说明:ApplicationContextAware
Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.Invoked after population of normal bean properties but before an init callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked afterResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
andMessageSourceAware
, if applicable.- 指定者:
setApplicationContext
在接口中ApplicationContextAware
- 参数:
applicationContext
- the ApplicationContext object to be used by this object- 另请参阅:
BeanInitializationException
getApplicationContext
protected ApplicationContext getApplicationContext()
setLocale
public void setLocale(Locale locale)
This method should not be used, since the considered Locale for resolving templates is the Locale for the current HTTP request.- 覆盖:
setLocale
在类中groovy.text.markup.TemplateConfiguration
afterPropertiesSet
public void afterPropertiesSet() throws Exception
从接口复制的说明:InitializingBean
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- 指定者:
afterPropertiesSet
在接口中InitializingBean
- 抛出:
Exception
- in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
createTemplateEngine
protected groovy.text.markup.MarkupTemplateEngine createTemplateEngine() throws IOException
- 抛出:
IOException
createTemplateClassLoader
protected ClassLoader createTemplateClassLoader() throws IOException
Create a parent ClassLoader for Groovy to use as parent ClassLoader when loading and compiling templates.- 抛出:
IOException
resolveTemplate
protected URL resolveTemplate(ClassLoader classLoader, String templatePath) throws IOException
Resolve a template from the given template path.The default implementation uses the Locale associated with the current request, as obtained through
LocaleContextHolder
, to find the template file. Effectively the locale configured at the engine level is ignored.