Переменные, на которые вы ссылаетесь в файле .properties
, всегда происходят из одного и того же файла .properties
?Если это так, то вы можете просто написать пользовательский FMPP DataLoader
, который выполняет все необходимые замены, прямо при загрузке файла.(Или загрузчик данных tdd
может также добиться чего-то подобного, используя get(varname)
и, возможно, некоторые eval(...)
-ы, но это, вероятно, слишком многословно для этой цели.)
Что касается решения этой проблемы наНа уровне языка шаблонов потребуется, чтобы выходные данные ${...}
были повторно интерпретированы как фрагмент шаблона, а затем я предполагаю и то, что в выводе не будет ничего похожего на конструкцию языка шаблонов.Я не знаю ни о каком языке шаблонов, который делает это.Однако в FreeMarker можно решить, если строки, где это требуется, обернуты пользовательской реализацией TemplateScalarModel
, которая выполняет эту повторную оценку всякий раз, когда что-то читает значение строки.(Чтобы использовать такой пользовательский TemplateModel
в FMPP, вам также понадобится специальный загрузчик данных FMPP, который специальным образом обернет строки перед возвратом в FMPP.)