Groovy 标记

Groovy 标记模板引擎 主要用于生成类似 XML 的标记(XML、XHTML、HTML5 等),但您也可以使用它来生成任何基于文本的内容。TODAY Framework 内置了 Web MVC 与 Groovy 标记的集成。

Groovy 标记模板引擎需要 Groovy 2.3.1+。

配置

以下示例展示了如何配置 Groovy 标记模板引擎:

  • Java

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

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

  // 配置 Groovy 标记模板引擎...

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

以下示例展示了如何在 XML 中进行相同的配置:

<mvc:annotation-driven/>

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

<!-- 配置 Groovy 标记模板引擎... -->
<mvc:groovy-configurer resource-loader-path="/WEB-INF/"/>

示例

与传统的模板引擎不同,Groovy 标记依赖于使用构建器语法的 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')
	}
}