Groovy에서 멀티 라인 문자열을 생성하려고합니다. 다중 줄 문자열 내에서 반복 할 문자열 목록이 있습니다. 구문이 무엇인지 확실하지 않습니다.Groovy 멀티 라인 문자열 내에서 루프리스트
def html = """\
<ul>
<li>$awaiting.each { it.toPermalink()}</li>
</ul>
"""
Groovy에서 멀티 라인 문자열을 생성하려고합니다. 다중 줄 문자열 내에서 반복 할 문자열 목록이 있습니다. 구문이 무엇인지 확실하지 않습니다.Groovy 멀티 라인 문자열 내에서 루프리스트
def html = """\
<ul>
<li>$awaiting.each { it.toPermalink()}</li>
</ul>
"""
다음 아래와 같은 뭔가 ... : 다른 목록에 다시 그것은 기본적으로 각 요소에 대해 메소드를 호출
<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
문자열을 함께 목록
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>