Скорость: Как оценить / проанализировать «Директивы / Содержимое», хранящиеся в переменной? - PullRequest
3 голосов
/ 25 февраля 2010

У меня есть проблема, которая кажется довольно тривиальной, но я не смог ее решить. В моих шаблонах Velocity у меня есть переменная $contentFormDb, заполненная контентом из базы данных (в контроллере приложения MVC). Эта переменная будет содержать не только литеральные строки, но и другие директивы скорости (например, " #set($test = "test) $test", см. Пример ниже).

Если я использую $contentFromDB в своих шаблонах, Velocity печатает содержимое в моем шаблоне «Буквально». Например, если переменная $contentFromDB содержит строку " #set($test = "test) $test" (это было установлено в контроллере), я получу буквальный вывод #set($test = "test) $test в моем шаблоне скорости, а не просто test.

Мне нужно что-то вроде директивы #parse(), которую я могу дать моей переменной $contentFromDB, и тогда она будет вычислять переменную. #parse($contentFormDb) Но #parse() принимает только файлы для оценки / анализа.

Может быть, я что-то здесь неправильно понимаю ... Но как решить эту проблему, мне кажется, это стандартный сценарий использования контента из БД, который затем также должен быть оценен в шаблоне ...

Большое спасибо! Jan

Ответы [ 2 ]

3 голосов
/ 25 февраля 2010

Директива # оценивать выглядит так, как будто она будет делать то, что вы хотите.

0 голосов
/ 04 мая 2011

Вы можете зарегистрировать Velocimacros через #parse ()

Это стало возможным в Velocity 1.6.

...