问题标签 [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 投票
1 回答
1804 浏览

java - 如何将 Struts 2 与 Velocity 和 Tiles 一起使用

有没有人能够使用 struts 2 获得速度和瓷砖?

我在网上查找示例或教程时遇到了一些问题,从我从邮件列表中收集的内容来看,这似乎根本不可能(但邮件已经很旧了)。

0 投票
4 回答
1550 浏览

velocity - 你知道有多少项目使用 Velocity 框架

你知道有多少成功的项目使用 Velocity 框架来开发他们的 UI 吗?我问的原因是在大多数情况下,Velocity 被 JSP 标签取代,但在我们的产品中,我们仍然使用 Velocity 框架。

0 投票
2 回答
7673 浏览

java - 速度:$display.list() 和对象集合

Velocity DisplayTool 有一个有用的方法:

这会将集合或数组格式化为“A、B 和 C”的形式。

问题是假设我有一个对象的 ArrayList,我如何输出特定的对象字段而不是整个对象?例如,常规循环如下所示:

现在我只是让 obj.toString() 返回 obj.title,但是如果我需要另一个字段怎么办?

谢谢。

更新最终自己实现了这个方法并将其提交给 DisplayTools。所以它现在是 Tools 2.0 的一部分。

0 投票
1 回答
1888 浏览

header - 如何在 .vm 文件中插入页眉和页脚

我有一个运行以生成 DOC 文件的 .vm (Velocity) 文件。我想在这个生成的 DOC 文件中有一个非常简单的页眉和页脚。我如何为此在 .vm 文件中编写代码。我不想将页眉和页脚文件包含为外部文件。我想要在同一个 .vm 文件中的简单代码。请帮忙!!!

0 投票
4 回答
1411 浏览

java - 配置速度以使用 toString 以外的东西渲染对象?

有没有办法将 Velocity 配置为使用 toString() 以外的东西将对象转换为模板中的字符串?例如,假设我正在使用带有 format() 方法的简单日期类,并且每次都使用相同的格式。如果我所有的速度代码如下所示:

有没有我可以添加的配置让我说

反而?(假设我不能只编辑日期类并给它一个适当的 toString())。

如果有帮助,我将在使用 WebWork 构建的 web 应用程序的上下文中执行此操作。

0 投票
3 回答
5364 浏览

java - 在 MVC 应用程序中为视图层使用 JSTL 与 Velocity 的好处?

我目前正在构建一个 Spring MVC 应用程序。我希望使用带有标记库的 JSP 页面来处理视图层和 HTML 格式,但是我遇到了我公司中的另一个小组,他们使用 Velocity 模板来实现相同的目的。

在我看来,这两种方法之间似乎有很多相似之处:

  1. 两者都有易于理解的语法。让非开发人员更容易理解和使用,让设计人员专注于 HTML/CSS,只需要在需要条件/动态内容的少数情况下使用指令/标签库,而不必完全了解爪哇。
  2. 很容易看出内容的哪些部分是 HTML 与哪些是指令/逻辑。
  3. 两者都被大量使用并得到很好的支持。
  4. 易于与 Spring MVC 集成。

但是在比较这两种技术时,我看不出使用其中一种技术的任何具体原因。我很难想到 Velocity 或 JSTL 特有的任何缺点。

所以我的问题是,您认为每种方法的优缺点是什么?如果您使用其中一个或另一个构建了一个(Spring)MVC 应用程序,是什么让您决定您正在使用的视图层技术,以及是什么(如果有的话)让您决定反对另一个?

更新:我在 Spring Framework 论坛的here上找到了关于该主题的类似讨论,这对于在 JSTL 和 Velocity 之间做出相同决定的人来说可能会有些兴趣。

0 投票
5 回答
27534 浏览

java - Eclipse 的速度编辑器插件?

我见过Veloedit,它似乎有很好的语法突出显示,但不允许在正在编辑的文件中使用制表符(wtf?)并且也不了解 HTML。

通过一点谷歌搜索,我找到了 Veloecipse,它声称基于 Veloedit 构建并添加了 HTML 支持 -但似乎与 Eclipse 3.4 不兼容

是否有任何其他人正在使用的 Eclipse 的 Velocity 模板编辑器插件?

理想的解决方案应具有以下特点:

  • VTL的语法高亮
  • HTML 语法高亮
  • VTL 语法的自动完成
  • 允许标签!

更新:见下面我的回答

0 投票
2 回答
1396 浏览

c# - Completely overwriting a file with Velocity / NVelocity

I am trying to use NVelocity templates in a .Net application: using a template to output results to a file. It all seems to work fine except for the fact that the output is never fully overwritten. If my file is 100 characters long and the template only renders 20 characters, the last 80 characters are never altered!

Code sample:

So if my template outputs AAAA and the file already contains BBBBBBBB then at the end, the file contains AAAABBBB at the end of the op.

Any clue how I can get it to fully overwrite the file? - e.g. in the above example the final output should be AAAA. Not too sure whether this is just pure stream-related stuff - but I haven't had this problem before with filestreams.

Happy to write a reset method, or just output to a memorystream and overwrite the file, but I would like to get it working like this if possible! **EDIT:'' got it working by calling

when I open the file. But would appreciate knowing if there was a better way!

0 投票
5 回答
5056 浏览

unit-testing - 对于使用 Maven 构建的命令行实用程序,我应该将 Velocity 模板文件放在哪里?

我有一个使用 Maven 管理的小型命令行实用程序项目。该实用程序是一个非常简单的应用程序,用于填充 Velocity 模板并将结果转储到新文件中。我的问题是在哪里放置我的 Velocity 模板。当我把它们放进去时src/test/resources/foo/bar/bazmvn test因为找不到引用的模板而失败,即使它显然在里面target/classes/foo/bar/baz,这是.class测试文件和被测类所在的位置。如果我将模板放在项目的顶级目录中,则测试通过,但是我没有遵循 Maven 项目结构,并且我怀疑实际打包的 .jar 文件不起作用。我错过了什么?

更新:

被测方法

测试方法

我唯一可以放置foo.yaml并通过测试的地方是项目的根目录,即作为 and 的对等srctarget

0 投票
3 回答
14266 浏览

java - 如何访问 Velocity 模板中的静态成员?

我不确定是否有办法在 Velocity 中执行此操作:

我有一个用户 POJO,它有一个名为 Status 的属性,它看起来像一个枚举(但它不是,因为我被困在 Java 1.4 上),定义看起来像这样:

Status 是一个静态内部类:

使用这种模式,可以很容易地在条件下测试用户状态,例如

...无需为状态 ID、任何幻数等引用任何常量。

但是,我不知道如何在我的 Velocity 模板中使用 VTL 测试这些条件。我想根据用户的状态打印一个简单的字符串,例如:

但这会引发一个看起来像的异常 org.apache.velocity.exception.ParseErrorException: Encountered "User" at webpages/include/dashboard.inc[line 10, column 21] Was expecting one of: "[" ...

VTL User Guide中,没有提到直接在 VTL 中访问 Java 类/静态成员,条件的右侧(RHS)似乎只能是数字文字、字符串文字、属性引用或方法参考。

那么有什么方法可以访问 Velocity 模板中的静态 Java 属性/引用?我知道作为一种解决方法,我可以在我的控制器中嵌入状态 ID 或其他标识符作为参考(这是一个使用 Velocity 作为视图技术的 Web MVC 应用程序),但我强烈不想嵌入任何魔法视图层中的数字或常量。