2010-06-18 4 views
2

거기에 대신 태그를 추가하면그루비 markupbuilder 태그

그래서
import groovy.xml.MarkupBuilder 

def writer = new StringWriter() 
def builder = new MarkupBuilder(writer) 

def awaiting = ['one', 'two', 'three'] 

builder.html { 
    ul { 
     awaiting.each { 
      li(it.toString()) 
     } 
    } 
} 

println writer.toString() 

당신은 그것을 보내 있음 -

builder.html{ 
tag{ 
    awaiting.each{} 
    } 
} return result 

가 될 수있다 '팔자처럼 '또는'ul '예 :

답변

2

문자열 값으로 함수를 호출 할 수 있다는 사실에 의존 할 수 있습니다.

import groovy.xml.MarkupBuilder 

def writer = new StringWriter() 
def builder = new MarkupBuilder(writer) 

def awaiting = ['one', 'two', 'three'] 
def tag = 'ol' 

builder.html { 
    "$tag" { 
     awaiting.each { 
      li(it.toString()) 
     } 
    } 
} 

println writer.toString() 
+0

별 .. 나는 멀리있을 거라는 것을 알고 있었지만 언제나처럼 첫 걸음은 가라 앉는 데 오랜 시간이 걸렸습니다. –

0

invokeMethod를 사용할 수도 있습니다. 이보다 조금 더 길지만 위의 경우보다 분명합니다.

builder.html { 
    invokeMethod(tag) { 
    awaiting.each { 
     li it 
} } }