1

私は最近 Groovy スクリプトを手に入れたので、まだ初心者です (私は Java のいくつかの概念を持つ C のプロのプログラマーでもあります)。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