我最近选择了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()
一切都很好,除非现在“身体”部分变得非常大而且我有一些重复的代码所以它确实需要重构。 通过重构,我的意思是我想把部件放在一个函数/过程中并在“body”中重复调用它。
我试着按照这个例子 http://groovy.jmiguel.eu/groovy.codehaus.org/Using+MarkupBuilder+for+Agile+XML+creation.html
认为它可以与HTML标记一样使用XML。 编辑:它确实有效。
例如,如果我做了类似
的事情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”,则执行失败
谢谢, 克莱门特