java - Apache 速度 : Which variables are available in templates?

标签 java velocity

是否可以在模板中获取变量列表并使用该列表填充它们? 我希望我的用户创建他们的模板,这意味着我不会事先知道哪些变量可用?

编辑:

在我的模板中,用户将决定打印什么。比如

$用户 $最新

但是在我的应用程序中,我不知道模板中使用了哪些变量。我想要一个列表,例如 [users latest],其中包含模板中的所有变量,以便我可以根据用户规范填写它们。

最佳答案

您可以通过呈现模板并使用构建列表的 ReferenceInsertionEventHandler 来收集列表。但是,如果模板有这样的东西,那就麻烦了:

#if( $foo ) $bar #else $woogie #end

您的事件处理程序只会看到 $bar 或 $woogie,不会同时看到。

这个不受支持的(可能是过时的)类可能会有所帮助:

http://svn.apache.org/viewvc/velocity/engine/branches/1.x/experimental/templatetool/

关于java - Apache 速度 : Which variables are available in templates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1608051/

相关文章:

java - 从 Android Activity 的后退按钮调用什么方法?

Java - 在 JTable 单元格中禁用科学记数法

java - 查询所有文档中的字段并确定该字段位于哪个文档中?

apache2 - 如何安装和使用 Apache Velocity?

themes - Liferay 主题 - Velocity - 检查用户是否具有自定义角色

javascript - 有没有办法将 Apache Velocity 模板文件与任何 HTML 模板引擎(如 Mustache 或 Handlebar.js)一起使用

java - 如何使用 apache velocity 从列表中删除重复元素

java - 获取 String 对象的类型 - java

java - Spring Data jpa 如何知道属性发生了变化?

java - 在速度模板中同时迭代两个列表