Как заменить переменную внутри тернарионации с помощью скриптового движка groovy
Я использую 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>
'''
:
''
)}
1 ответ
Я подозреваю, что String уже представляет замененное значение и не анализируется сам.
Будет ли работать для вас, чтобы заменить
'''
<test>${value}</test>
'''
с
'<test>' + value + '</test>'