1

我最近学习了 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”,你会在执行时失败

谢谢,克莱门特

4

0 回答 0