Я использую Freemarker (FMPP) для настройки текстового файла. Я хочу иметь файл свойств, определяющий данные интерполяции следующим образом:
VAR1=some-value
VAR2=${VAR1}
Это сильно упрощено по сравнению с моими реальными файлами, но сохраняет суть моего варианта использования. Шаблон содержит ссылку в форме ${VAR2}
, которая, как я ожидаю, приведет к интерполяции some-value
. Вместо этого интерполированное значение является литералом ${VAR1}
.
Обратите внимание, что это не то же самое, что Может ли интерполяция freemarker содержать интерполяцию?, которая относится к использованию значения переменной в качестве имени переменная (косвенная ссылка). Кроме того, решение проблемы может ли freemarker выполнить вторую замену включает изменение шаблона. Я бы хотел, чтобы замена происходила концептуально «до» обработки шаблона, чтобы шаблон мог ссылаться только на ${VAR2}
и не должен был знать о двойной интерполяции.
Есть ли способ сделать это в FreeMarker?
Если нет, может ли кто-нибудь сказать мне, легко ли это сделает Velocity?