質問

私はグレイルにカスタムタグリブを持っています、そして、私はいくつかのダイナミックなフォームを駆動するためにマークアップビルダーを使用しています。このフォーム作成コードの一部を独自のクラス/メソッドに引き出して、再利用できるようにする必要があります。これらの他のクラス/メソッド内でMarkUpBuilderを使用できるようにしたいと思います。だから私は次のようなものを持っています...

def formContainer = new MarkupBuilder(out)
formContainer.form(...) {
  table() {
     tr() {
       td() {
          // here I want to call a method and pass a reference to td()
          generateSomeFormData(this) // but this doesn't work.
       }
     }
   }
}

TD()では、メソッドを呼び出したいのですが、TDへの参照を渡す必要があります。 「これ」はその要素を参照していないようです。

私の他の方法は次のように見えるかもしれません(ポイントを理解するために非常に一般的です)

generateSomeFormData(parentElement) {
   parentElement.input(type:'text')
}

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top