实战 Groovy: 使用 Groovy 模板进行 MVC 编程
2009-11-19 00:00:00 来源:WEB开发网清单 3. Groovy 中的 GStringlang = "Groovy"
println "Uncle man, Uncle man, I dig ${lang}."
在清单 3 中,我们创建了一个名为 lang 的变量,并将其值设置为“Groovy”。我们打印了一个 GString 类型的 String,并要求将单词 “dig” 后面的内容替换为 ${lang} 的值。如果实际运行一下,这段代码会打印“Uncle man, Uncle man, I dig Groovy.” 一切都不错,不是吗?
运行时替换实际上是动态语言的一个通用特性;与其他情况一样,Groovy 还会更进一步。Groovy 的 GString 允许您对替换的值调用 autocall 方法,当开始构建动态文本时,这会产生很多变化。例如,在清单 4 中,我可以对指定的变量按照 String 对象类型调用一个方法(在本例中是 length() 方法)。
清单 4. GString 自动调用lang = "Groovy"
println "I dig any language with ${lang.length()} characters in its name!"
清单 4 中的代码会打印出“I dig any language with 6 characters in its name!”在下一节中,我将向您展示如何使用 Groovy 的自动调用特性在您的模板中启用一些复杂的特性。
Groovy 模板
对模板的使用可以分解为两个主要的任务:首先,创建模板;其次,提供映射代码。使用 Groovy 模板框架创建模板与创建 JSP 非常类似,因为您可以重用 JSP 中见过的语法。创建这些模板的关键在于对那些运行时要替换的变量的定义。例如,在清单 5 中,我们为创建 GroovyTestCase 定义了一个模板。
清单 5. 一个创建 GroovyTestCase 的模板import groovy.util.GroovyTestCase
class <%=test_suite %> extends GroovyTestCase {
<% for(tc in test_cases) {
println "\tvoid ${tc}() { } "
}%>
}
更多精彩
赞助商链接