2015-07-10 82 views
0

我有作爲「模板」和看起來像是這樣一個文本文件:在模板替換字符串使用Groovy

[...] 
<data>${payload}</data> 
[...] 

在Groovy腳本我現在想加載此模板,${payload}被替換爲腳本中的特定值。

僞代碼:

def payload = "Hello world" 
def f = new File(filename) 
println f.text 

這樣的結果將是:

<data>Hello world</data> 

我已經看過Groovy的模板,但我真的不明白這一點。

回答

2

你確實可以使用groovy模板引擎,它可以讓你有一些參數化的文本。你定義一個結構,然後用你想要的信息填充它

def text = '<h1>${title}</h1><data>${payload}</data>' 

    def binding = ["title":"My Title", "payload":"Hello world"] 

    def engine = new groovy.text.SimpleTemplateEngine() 
    def template = engine.createTemplate(text).make(binding) 
    println template.toString() // <h1>My Title</h1><data>Hello world</data>