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相当容易:

  1. @Configuration
  2. @EnableWebMvc
  3. public class WebConfig extends WebMvcConfigurerAdapter {
  4. @Override
  5. public void configureViewResolvers(ViewResolverRegistry registry) {
  6. registry.groovy();
  7. }
  8. @Bean
  9. public GroovyMarkupConfigurer groovyMarkupConfigurer() {
  10. GroovyMarkupConfigurer configurer = new GroovyMarkupConfigurer();
  11. configurer.setResourceLoaderPath("/WEB-INF/");
  12. return configurer;
  13. }
  14. }

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

  1. <mvc:annotation-driven/>
  2. <mvc:view-resolvers>
  3. <mvc:groovy/>
  4. </mvc:view-resolvers>
  5. <mvc:groovy-configurer resource-loader-path="/WEB-INF/"/>

19.3.2 例子

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

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