19.3 Groovy Markup Templates

Groovy Markup Template Engine 是另一种被Spring支持的视图技术,此模板引擎是一种主要用于生成类似XML的标记(XML,XHTML,HTML5,…)的模板引擎,但可用于生成任何基于文本的内容。

这需要在classpath上配置Groovy 2.3.1+。

19.3.1 配置

配置Groovy Markup Template Engine相当容易:

@Configuration 
@EnableWebMvc 
public class WebConfig extends WebMvcConfigurerAdapter { 

       @Override 
    public void configureViewResolvers(ViewResolverRegistry registry) { 
        registry.groovy(); 
    } 

    @Bean 
    public GroovyMarkupConfigurer groovyMarkupConfigurer() { 
        GroovyMarkupConfigurer configurer = new GroovyMarkupConfigurer(); 
        configurer.setResourceLoaderPath("/WEB-INF/"); 
        return configurer; 
    } 
} 

使用MVC命名空间的XML文本:

<mvc:annotation-driven/> 

<mvc:view-resolvers> 
    <mvc:groovy/> 
</mvc:view-resolvers> 

<mvc:groovy-configurer resource-loader-path="/WEB-INF/"/> 

19.3.2 例子

和传统模板引擎不同, 这一个依赖于使用构建器语法的DSL。 以下是HTML页面的示例模板:

yieldUnescaped '<!DOCTYPE html>' 
html(lang:'en') { 
    head { 
        meta('http-equiv':'"Content-Type" content="text/html; charset=utf-8"') 
        title('My page') 
    } 
    body { 
        p('This is an example of HTML contents') 
    } 
}