WEB开发网
开发学院软件开发Java 实战 Groovy: 使用 Groovy 模板进行 MVC 编程 阅读

实战 Groovy: 使用 Groovy 模板进行 MVC 编程

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 3. Groovy 中的 GStringlang="Groovy"println"Uncleman,Uncleman,Idig${lang}."在清单 3 中,我们创建了一个名为 lang 的变量,实战 Groovy: 使用 Groovy 模板进行

清单 3. Groovy 中的 GString
lang = "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}() { } " 
 }%> 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:实战 Groovy 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接