问题标签 [velocity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
16555 浏览

java - 如何隐藏空的速度变量名称?

我在 Java 应用程序中使用 Struts + Velocity,但在我提交表单后,确认页面(Velocity 模板)显示变量名称而不是空标签,如下例中的 Age:

姓名:费尔南多

年龄:{person.age}

性别:男

我想知道怎么隐藏!

0 投票
2 回答
3282 浏览

java - 读取在 Velocity 模板中映射的模型对象

我有一个 Struts + Velocity 结构,例如一个 Person 类,它的一个属性是一个 Car 对象(具有自己的 getter/setter 方法),它使用 ModelDriven 和 getModel 结构映射到提交给 Action 的 Velocity 表单.

如果 car 属性不为 null 或 car.id != 0,我应该在表单上放置一个显示“查看汽车”的按钮,或者如果 car 为 null 或 car.id = 0,则显示另一个按钮“选择汽车”。

我该如何编码。我在模板文件中尝试了类似的东西:

但是我在#if行中不断收到关于 Null 值的错误。

我还在 Person 中创建了一个布尔方法 hasCar() 来尝试,但我无法访问它,也不知道为什么。

而且 Velocity + Struts 教程很难找到或有很好的信息。

谢谢

0 投票
6 回答
26963 浏览

velocity - How to escape a # in velocity

I would like to know how can i escape a # in velocity. Backslash seems to escape it but it prints itself as well

This:

prints:

I would like:

0 投票
5 回答
3179 浏览

java - 是什么导致速度 Template.merge() 失败?如何避免它?

我们的团队一直在遇到速度模板反复出现的问题。在渲染时,有些人会抛出带有消息“Template.merge() 失败 - 无法渲染速度模板,'/template.vm'”的 RuntimeException。我们无法重现该问题,并且网络上的文档非常不足。该问题并非始终可重现 - 其渲染有时会导致错误的相同模板也可以在其他时间无问题地显示。Template 类的源代码也没什么帮助。先感谢您。


编辑:根据 Nathan Bubna 的回复,我需要澄清我们使用的是 Velocity 1.4 版。


编辑:由于有人指出堆栈跟踪是有益的,所以这里是:

2008-09-15 11:07:57,336 错误速度 - Template.merge() 失败。文档为空,很可能是由于解析错误。2008-09-15 11:07:57,336 错误 VelocityResult - 无法呈现速度模板,'/search/[template-redacted].vm' java.lang.Exception: Template.merge() 失败。文档为空,很可能是由于解析错误。在 org.apache.velocity.Template.merge(Template.java:277) 在 com.opensymphony.webwork.dispatcher.VelocityResult.doExecute(VelocityResult.java:91) 在 com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport .java:109) 在 com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:258) 在 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:182) 在 com.opensymphony.xwork.interceptor。

0 投票
3 回答
11766 浏览

debugging - 有没有办法在传统的代码调试意义上调试 Velocity 模板?

我们在 Web 应用程序中大量使用 Velocity。虽然很容易调试 Java 方面并确保正确填充 Velocity 上下文,但能够在合并步骤中逐步解析 VTL、设置断点等将非常有价值。是否有任何工具还是 IDE/IDE 插件可以通过 VTL(Velocity 模板语言)使这种事情成为可能?

0 投票
2 回答
11282 浏览

java - 从 Apache Velocity 模板访问常量值?

是否可以从 Velocity 模板访问常量值(即在 Java 类中定义的公共静态最终变量)?

我希望能够写出这样的东西:

但这显然不是正确的语法。

0 投票
5 回答
7668 浏览

apache - 如何为 Apache Velocity 创建自定义指令

我正在使用 Apache 的 Velocity 模板引擎,我想创建一个自定义指令。也就是说,我希望能够编写“#doMyThing()”并让它调用我编写的一些 java 代码以生成文本。

我知道我可以通过添加一行来注册自定义指令

到我的velocity.properties 文件。而且我知道我可以通过扩展Directive 类来编写这样的类。我不知道如何扩展 Directive 类——新指令作者的某种文档。例如,我想知道我的 getType() 方法是返回“BLOCK”还是“LINE”,并且我想知道我的 setLocation() 方法应该做什么?

有没有比“使用源代码,卢克”更好的文档?

0 投票
3 回答
1777 浏览

templates - struts 项目中的瓷砖 - 比 freemarker 更好?

我想在 struts 应用程序中使用模板引擎,并且想知道是否可以推荐使用 TILES 而不是 FREEMARKER 或 VELOCITY。

0 投票
8 回答
64492 浏览

velocity - 在 Velocity 中访问数组的最佳方式是什么?

我有一个 Java 数组,例如:

在我看来,自然的访问方式是:

但它不起作用。我有这个解决方法。但是对于这样一个简单的任务来说,它的代码太多了。

还有其他方法吗?

0 投票
3 回答
13544 浏览

java - 速度#parse,但将其分配给变量

假设您有一个包含(解析)页眉、正文、页脚模板的标准模板。

在正文模板中定义了一个像 $subject 这样的变量,并且您希望它也显示在标题模板中。

在其他一些模板语言中,例如 HTML::Mason(perl based),您将首先评估 body 模板以获取 $subject 变量,但将其输出临时存储在变量中,以便您的最终输出以正确的顺序结束(标题,正文,页脚)

在速度方面,它看起来像

设置 ($body=#parse("body.vm"))

解析(“header.vm”)

${正文}

解析(“footer.vm”)

然而,这似乎不起作用,关于如何做到这一点的任何想法?