我在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')
}
答案 0 :(得分:3)
我相信
generateSomeFormData( delegate )
应该有效