类 GroovyMarkupConfigurer

java.lang.Object
groovy.text.markup.TemplateConfiguration
cn.taketoday.web.view.groovy.GroovyMarkupConfigurer
所有已实现的接口:
cn.taketoday.beans.factory.Aware, cn.taketoday.beans.factory.InitializingBean, cn.taketoday.context.ApplicationContextAware, GroovyMarkupConfig

public class GroovyMarkupConfigurer extends groovy.text.markup.TemplateConfiguration implements GroovyMarkupConfig, cn.taketoday.context.ApplicationContextAware, cn.taketoday.beans.factory.InitializingBean
An extension of Groovy's TemplateConfiguration and an implementation of Framework MVC's GroovyMarkupConfig for creating a MarkupTemplateEngine 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 a MarkupTemplateEngine 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
You can provide the 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 Framework 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 the TemplateConfiguration.setCacheTemplates(boolean) to configure that as necessary.

Framework's Groovy Markup template support requires Groovy 2.3.1 or higher.

从以下版本开始:
4.0
作者:
Brian Clozel, Rossen Stoyanchev
另请参阅:
  • 字段详细资料

    • resourceLoaderPath

      private String resourceLoaderPath
    • templateEngine

      @Nullable private groovy.text.markup.MarkupTemplateEngine templateEngine
    • applicationContext

      @Nullable private cn.taketoday.context.ApplicationContext applicationContext
  • 构造器详细资料

    • GroovyMarkupConfigurer

      public GroovyMarkupConfigurer()
  • 方法详细资料

    • setResourceLoaderPath

      public void setResourceLoaderPath(String resourceLoaderPath)
      Set the Groovy Markup Template resource loader path(s) via a Framework 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 Framework's ResourceLoader. 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 Groovy MarkupTemplateEngine 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(cn.taketoday.context.ApplicationContext applicationContext)
      指定者:
      setApplicationContext 在接口中 cn.taketoday.context.ApplicationContextAware
    • getApplicationContext

      protected cn.taketoday.context.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
      指定者:
      afterPropertiesSet 在接口中 cn.taketoday.beans.factory.InitializingBean
      抛出:
      Exception
    • 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.

      抛出:
      IOException
      另请参阅: