#freemarker
#freemarker
Вопрос:
Я не могу определить правильные команды экранирования / отсутствия синтаксического анализа для этого варианта использования.
Случай 1
Ввод шаблона:
foo.bar: {"key_a":"val_a", "key_b":"val_b"}
Вывод:
foo.bar:
key_a: val_a
key_b: val_b
Случай 2
Ввод шаблона:
foo.bar: '{"key_a":"val_a", "key_b":"val_b"}' // Added single quotes
Вывод:
foo.bar: '{"key_a":"val_a", "key_b":"val_b"}'
Желаемый результат
foo.bar: {"key_a":"val_a", "key_b":"val_b"} // No quotes
Комментарии:
1. Что вы подразумеваете под «шаблонным вводом», что анализирует это? Как выглядит шаблон (я нигде не вижу такого
${...}
или подобного)?
Ответ №1:
Просто присвоите значение переменной и используйте двойные кавычки:
<#assign foo = "{"key_a":"val_a", "key_b":"val_b"}"/>
foo.bar: ${foo}
Вы можете проверить онлайн в https://try.freemarker.apache.org /
Комментарии:
1. В этом случае строковый литерал удобнее использовать
'
, и тогда экранирование не требуется. Кроме того, зачем присваивать переменной помощь?