繁体   English   中英

速度:如何定义全局变量

[英]Velocity: How do I define a global variable

我尝试在VM_global_library.vm文件中添加一堆#set($x=abc)语句,但是这些变量在我的VM模板中不可用。

我想为诸如图像的基本路径之类的东西设置一个全局变量。 这可能吗?

您可以将该变量添加到VelocityContext中,然后每个人都可以使用,并将其用作全局变量。

您的VM_global_library.vm应该只包含Velocity宏,我怀疑在宏外部声明的任何变量都将被忽略。

您可以创建一个包含所有全局变量的单独的.vm文件,然后确保在需要它们的每个模板中#parse (或者可以编写一些代码来自动对其进行解析)。 例如,我之前已经对VelocityLayoutServlet进行了扩展,以执行类似的操作:首先合并“ global-variables.vm ”,将它们添加到Context中,然后继续并渲染视图。

如果您的全局变量只是简单的字符串,则将它们放在属性文件中并让您的代码将它们直接推入VelocityContext可能会更有效。

如果使用VelocityTools创建上下文,则可以轻松设置和管理全局数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM