Шаблонізатор розмітки на мові Groovy в першу чергу призначений для генерації XML-подібної розмітки (XML, XHTML, HTML5 та інших), але ти можеш використовувати його для створення будь-якого текстового контенту. Spring Framework має інтеграцію для використання Spring 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 = новий GroovyMarkupConfigurer();
configurer.setResourceLoaderPath("/WEB-INF/");
return configurer;
}
}
Kotlin
@Configuration
@EnableWebMvc
class WebConfig : WebMvcConfigurer {
override fun configureViewResolvers(registry: ViewResolverRegistry) {
registry.groovy()
}
// Конфігуруємо шаблонізатор розмітки мовою Groovy...
@Bean
fun groovyMarkupConfigurer() = GroovyMarkupConfigurer().apply {
resourceLoaderPath = "/WEB-INF/"
}
}
У наступному прикладі показано, як налаштувати те саме на 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')
}
}
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ