2011-09-13 25 views
3

我在Grails中有一個自定義的taglib,我使用MarkupBuilder來幫助驅動一些動態表單。我需要將這些表單創建代碼放到他們自己的類/方法中,以便它們可以被重用,並且我希望能夠在這些其他類/方法中使用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。 '這個'似乎並沒有引用這個元素。

我的另一種方法可能看起來像(非常通用,以獲得跨越點)

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

回答

3

我相信

 generateSomeFormData(delegate) 

應該工作

+0

我會嘗試一下... – Gregg

+0

這樣做。謝謝。 – Gregg

+0

@Gregg很高興我能幫忙:-) –

相關問題