我正在使用Groovy SimpleTemplateEngine在运行时动态设置值。我也在字符串中使用三元运算符。三元运算符中变量的值不会更新。有人可以帮忙实现此目标吗?
File f = new File("test.txt");
SimpleTemplateEngine engine = new SimpleTemplateEngine();
Template template = engine.createTemplate(f);
def refMap = [:]
refMap["condition1"] = "true";
refMap["acctNbr"] = "1234567890";
refMap["value"] = "abc";
println template.make(refMap).toString();
test.txt
<acctNbr13>${acctNbr}</acctNbr13>
${(
Boolean.parseBoolean(condition1)
?
'''
<test>${value}</test>
'''
:
''
)}
答案 0 :(得分:0)
我怀疑该字符串已经代表了替换后的值,并且自身无法解析。
它对您有用吗
'''
<test>${value}</test>
'''
使用
'<test>' + value + '</test>'