私は最近 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" のみをプロシージャに記述した場合、実行時にエラーが発生します
ありがとう、クレメント