从MarkupBuilder传递父元素到方法

时间:2011-09-13 16:13:25

标签: grails groovy taglib markupbuilder

我在Grails中有一个自定义taglib,我正在使用MarkupBuilder来帮助驱动一些动态表单。我需要将一些表单创建代码拉出到他们自己的类/方法中,以便可以重用它们,并且我希望能够在这些其他类/方法中使用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的引用。 'this'似乎没有引用该元素。

我的另一种方法可能看起来像(非常通用以获得重点)

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

1 个答案:

答案 0 :(得分:3)

我相信

      generateSomeFormData( delegate )

应该有效