Ваш VM_global_library.vm
должен содержать только макросы Velocity, я подозреваю, что любые переменные, объявленные вне макроса, просто игнорируются.
Вы можете создать отдельный файл .vm
, содержащий все ваши глобальные переменные, а затемубедитесь, что вы #parse
это в каждом шаблоне, где они вам нужны (или вы могли бы написать код для автоматического его анализа).Ранее я расширил VelocityLayoutServlet
, например, чтобы сделать что-то похожее: сначала слить мой "global-variables.vm
", чтобы добавить их в контекст, а затем продолжить и визуализировать представление.
Если ваши глобальные переменныепросто простые строки, вероятно, было бы более эффективно поместить их в файл свойств и заставить ваш код вставлять их непосредственно в VelocityContext
.