问题标签 [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.
java - 如何隐藏空的速度变量名称?
我在 Java 应用程序中使用 Struts + Velocity,但在我提交表单后,确认页面(Velocity 模板)显示变量名称而不是空标签,如下例中的 Age:
姓名:费尔南多
年龄:{person.age}
性别:男
我想知道怎么隐藏!
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 教程很难找到或有很好的信息。
谢谢
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:
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。
debugging - 有没有办法在传统的代码调试意义上调试 Velocity 模板?
我们在 Web 应用程序中大量使用 Velocity。虽然很容易调试 Java 方面并确保正确填充 Velocity 上下文,但能够在合并步骤中逐步解析 VTL、设置断点等将非常有价值。是否有任何工具还是 IDE/IDE 插件可以通过 VTL(Velocity 模板语言)使这种事情成为可能?
java - 从 Apache Velocity 模板访问常量值?
是否可以从 Velocity 模板访问常量值(即在 Java 类中定义的公共静态最终变量)?
我希望能够写出这样的东西:
但这显然不是正确的语法。
apache - 如何为 Apache Velocity 创建自定义指令
我正在使用 Apache 的 Velocity 模板引擎,我想创建一个自定义指令。也就是说,我希望能够编写“#doMyThing()”并让它调用我编写的一些 java 代码以生成文本。
我知道我可以通过添加一行来注册自定义指令
到我的velocity.properties 文件。而且我知道我可以通过扩展Directive 类来编写这样的类。我不知道如何扩展 Directive 类——新指令作者的某种文档。例如,我想知道我的 getType() 方法是返回“BLOCK”还是“LINE”,并且我想知道我的 setLocation() 方法应该做什么?
有没有比“使用源代码,卢克”更好的文档?
templates - struts 项目中的瓷砖 - 比 freemarker 更好?
我想在 struts 应用程序中使用模板引擎,并且想知道是否可以推荐使用 TILES 而不是 FREEMARKER 或 VELOCITY。
velocity - 在 Velocity 中访问数组的最佳方式是什么?
我有一个 Java 数组,例如:
在我看来,自然的访问方式是:
但它不起作用。我有这个解决方法。但是对于这样一个简单的任务来说,它的代码太多了。
还有其他方法吗?
java - 速度#parse,但将其分配给变量
假设您有一个包含(解析)页眉、正文、页脚模板的标准模板。
在正文模板中定义了一个像 $subject 这样的变量,并且您希望它也显示在标题模板中。
在其他一些模板语言中,例如 HTML::Mason(perl based),您将首先评估 body 模板以获取 $subject 变量,但将其输出临时存储在变量中,以便您的最终输出以正确的顺序结束(标题,正文,页脚)
在速度方面,它看起来像
设置 ($body=#parse("body.vm"))
解析(“header.vm”)
${正文}
解析(“footer.vm”)
然而,这似乎不起作用,关于如何做到这一点的任何想法?