Apache Velocity:如何像 Java 一样定义自定义方法?

Bru*_*tig 4 methods velocity function

我目前在 Polarion Application ALM Software 中编写了一个 wiki 页面,这些页面上的语法包括(据我所知)HTML、Javascript 和 Apache Velocity。

所以我想在 Apache Velocity 中编写一个脚本,因为我认为这是访问 Polarion 工作项的最佳方式,因为有预定义的方法。

现在我想编写一个方法来遍历一堆工作项并在列表或数组中收集它们的 id。

所以我只想定义一个像 Java ( http://www.tutorialspoint.com/java/java_methods.htm ) 中的新方法,但我在网上找不到任何地方是如何在 Velocity 中完成的(我还搜索了“函数Apache Velocity”也没有结果)。

如果我想编写自己的方法/函数,这甚至可能还是必须使用 Javascript?

小智 5

这可以做到,使用您要在速度模板中使用的方法创建一个静态类。在速度上下文对象中设置此类。

velocityContext.put("anyKey",YourStaticClass.class)
Run Code Online (Sandbox Code Playgroud)

这个类将在速度模板中可用。然后您可以访问其方法,例如:anyKey.Method()