Мне нужно заменить ссылки (свойства и методы) в Velocity
шаблоны для некоторых других значений во время рендеринга шаблона.
Например, из шаблона ниже:
___
I have $some text $daisy
#foreach ($someElement in $someCollection)
#$someElement.doSomething()
#end
___
Мне нужно получить такой текст:
___
I have lalala1 text lalala1
lalala2
lalala2
lalala2
___
Кроме того, причина в том, что я не знаю названий ссылок и
количество их заранее.
Ну, технически, действительно, я могу открывать шаблоны и просматривать вручную, но я хочу избежать этого.
Прежде всего, я попытался получить имена ссылок из шаблона,
работать с реализацией ReferenceInsertionEventHandler, но
проблема была в директивах.
Например, с foreach у меня было исключение "Не удалось определить тип
итератор в цикле #foreach "
Я посмотрел исходный код скорости, я могу изменить его, как мне нужно,
но это убьет ремонтопригодность будущего проекта.
Так что вопрос такой:
Есть ли способ получить все ссылки на имена (свойства и методы)
из шаблона и изменять их значения при рендеринге?