Groovy Markup

Groovy Markup 模板引擎 主要是针对生成类似 XML 的标记(XML、XHTML、HTML5 等),但你也可以用它来生成任何基于文本的内容。Spring 框架有一个内置的集成,用于将 Spring MVC 与 Groovy Markup 一起使用。

:::info Groovy Markup Template 引擎需要 Groovy 2.3.1 以上。 :::

配置

下面的例子显示了如何配置 Groovy Markup Template Engine:

  1. @Configuration
  2. @EnableWebMvc
  3. public class WebConfig implements WebMvcConfigurer {
  4. @Override
  5. public void configureViewResolvers(ViewResolverRegistry registry) {
  6. registry.groovy();
  7. }
  8. // 和前面 freeMarker 类似,需要有一个配置对象
  9. @Bean
  10. public GroovyMarkupConfigurer groovyMarkupConfigurer() {
  11. GroovyMarkupConfigurer configurer = new GroovyMarkupConfigurer();
  12. configurer.setResourceLoaderPath("/WEB-INF/");
  13. return configurer;
  14. }
  15. }

下面的例子显示了如何在 XML 中进行同样的配置:

  1. <mvc:annotation-driven/>
  2. <mvc:view-resolvers>
  3. <mvc:groovy/>
  4. </mvc:view-resolvers>
  5. <!-- Configure the Groovy Markup Template Engine... -->
  6. <mvc:groovy-configurer resource-loader-path="/WEB-INF/"/>

例子

与传统的模板引擎不同,Groovy Markup 依靠的是一个使用构建器语法的 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. }