2010-06-02 6 views

답변

5

다음 아래와 같은 뭔가 ... : 다른 목록에 다시 그것은 기본적으로 각 요소에 대해 메소드를 호출

<ul> 
    <li>link->one</li><li>link->two</li><li>link->three</li> 
</ul> 

, collects 결과 :

class PLink { 
    String name 
    String toPermalink() { 
    "link->$name" 
    } 
} 
def awaiting = [ new PLink(name:'one'), new PLink(name:'two'), new PLink(name:'three') ] 
def html = """<ul> 
    <li>${awaiting.collect { it.toPermalink() }.join("</li><li>")}</li> 
</ul>""" 

이 출력을 생성합니다 그런 다음 joins 문자열을 함께 목록

1

MarkupBuilder 사용을 고려 했습니까? 그것들은 HTML 또는 XML을 구성하는 정말 좋은 방법을 제공합니다. 특히 루핑 구문 또는 조건부 로직을 포함하려는 경우 유용합니다.

예를 들어

:

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() 

결과 :

<html> 
    <ul> 
    <li>one</li> 
    <li>two</li> 
    <li>three</li> 
    </ul> 
</html> 
관련 문제