我最近学习了 groovy 脚本,所以我仍然是它的初学者(我也是 C 语言的专业程序员,有一些 Java 概念)我使用 MarkupBuilder 成功创建了一个有效的 html 页面(见下面的简化示例)
def writer = new StringWriter()
def page_html = new groovy.xml.MarkupBuilder(writer)
page_html.html
{
head
{
title("Test HTML table")
}
body
{
h3("Test HTML")
a
{
mkp.yield("Hello html")
}
}
}
writer.toString()
一切都很好,除了现在“主体”部分变得非常大而且我有一些代码重复,所以它确实需要重构。通过重构,我的意思是我想将部分放入函数/过程中并在“主体”中重复调用它。
我试着按照这个例子 http://groovy.jmiguel.eu/groovy.codehaus.org/Using+MarkupBuilder+for+Agile+XML+creation.html
认为它可以与 XML 一样使用 HTML 标记。编辑:它确实有效。
例如,如果我做类似的事情
def my_procedure(builder)
{
builder.a
{
mkp.yield("Hello html")
}
}
和
def writer = new StringWriter()
def page_html = new groovy.xml.MarkupBuilder(writer)
page_html.html
{
head
{
title("Test HTML table")
}
body
{
h3("Test HTML")
my_procedure(page_html)
}
}
writer.toString()
编辑:如果不写 builder.a 而在过程中只写“a”,你会在执行时失败
谢谢,克莱门特