4

Groovyを使用する場合MarkupBuilder、テキストをドキュメントに出力したり、テキストをドキュメントに出力する関数を呼び出したりする必要がある場所があります。現在、未定義のタグ「text」を使用して出力しています。このコードを書くためのより良い方法はありますか?

li {
  text("${type.getAlias()} blah blah ")
  function1(type.getXYZ())
  if (type instanceof Class1) {
    text(" implements ")
    ft.getList().each { 
      if (it == '') return
      text(it) 
      if (!function2(type, it)) text(", ")
    }
  }
}
4

2 に答える 2

8

実際、現在推奨される方法はmkp.yield、たとえば、を使用することです。

src.p {
    mkp.yield 'Some element that has a '
    strong 'child element'
    mkp.yield ' which seems pretty basic.'
}

生産する

<p>Some element that has a <strong>child element</strong> which seems pretty basic.</p>
于 2008-09-17T10:27:31.470 に答える
2

メソッドを含める:

void text(n){
    builder.yield n
}

ほとんどの場合、あなた(I)は、テキストメソッドがある場所からこのコードをコピーしましたが、テキストメソッドもコピーしていません。MarkupBuilderはタグの名前に任意の名前を受け入れ、ブラウザーは不明なマークアップを無視するため、たまたま機能しました。

于 2008-08-22T23:25:38.743 に答える