问题标签 [vtl]

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 投票
3 回答
75814 浏览

vtl - 在 Velocity 模板语言中创建和遍历数组

如何在 VTL 中创建数组并将内容添加到数组中?另外如何通过索引检索数组的内容?

0 投票
1 回答
56559 浏览

string - 在 Velocity 模板语言中替换字符串的子字符串

我想用另一个字符串替换速度模板语言中字符串的一部分。

例如:

我想用 ++ 替换 Hello 中的 ll。输出应该是 He++o

请帮我

谢谢基肖尔

0 投票
3 回答
21082 浏览

liferay - Velocity (VM) 模板请求参数:获取 GET 变量

如何访问在 VM 模板中的 URI 中传递的 GET 变量?

这仅在加载小部件 URL 时有效:

我正在寻找一种适用于友好 URL 的简洁解决方案。

这是我的测试模板:

0 投票
2 回答
1221 浏览

velocity - 在 Velocity 中包含文字 JSON 内容(避免 HTML 转义)

我正在尝试使用嵌入在 Atlassian 产品中的 Velocity 引擎(并通过 com.atlassian.templaterenderer 公开)将 JSON 值替换为模板。

在模板中,这看起来有点像以下内容:

但是,当我使用映射到字符串["bar", "baz"]的“foo”渲染模板时,输出如下:

如何避免这种情况?

0 投票
1 回答
455 浏览

c# - 从纯文本构建表格

我正在尝试构建一个可以执行以下操作的 winforms 应用程序:

  1. 获取 PDF 文件
  2. 提取数据(基于某种模板或配置文件)
  3. 建立数据表
  4. 序列化数据表并将其上传到 Web 服务

截至目前,我已将 PDF 文件转换为文本字符串,但在为模板提供格式时遇到了麻烦。起初,我尝试制作自己的 XML 自定义配置文件——虽然这可以满足项目的要求,但我发现以足够通用的方式表达必要的指令非常困难。首先,我尝试逐行处理文本并为各种指令使用一系列标志。这个概念似乎会起作用,直到我意识到数据表通常跨越多个页面,中间有多余的文本。我最初的处理尝试是这样的:

  1. 加载第一条指令(开始标志、结束标志、动作(例如创建表)和表结构)
  2. 当到达结束标志时加载下一条指令

不幸的是,这并没有考虑到循环或对这一切的工作方式提供足够的控制。在某些情况下,我需要获取附加到每一行数据的信息。我想出了如何使用排队指令执行此操作,然后在构建表的其余部分时返回并再次处理它们。但循环问题仍然存在,因为每个表都是根据指​​令命名的。

现在我正在研究 VTL 并试图看看像 Vici 这样的项目是否能帮助我。它已经到了我创建一种伪脚本语言只是为了完成我需要的东西的地步,而且它变得太难了。

TLDR 版本: 是否有任何库或项目可以帮助我使用某种模板或配置文件从纯文本构建数据表?

0 投票
1 回答
950 浏览

velocity - 在另一个中使用一个速度模板的输出

我有一个速度模板(在 Confluence 用户宏中),如下所示:

该模板有一个嵌套的其他速度模板,由用户配置以查询数据库并返回匹配某些条件的错误数量。这个想法是,如果返回的数字是零,那么一切都是 hunkydory。否则,好吧……你明白了。

现在,我的想法显然搞砸了。

  1. $body 字符串似乎返回了类似{0} issues.
  2. {0}似乎是一个变量或其他东西,但如果我能找到任何文档,那就见鬼了。

问题

  • 首先评估哪个模板?
  • 我什至可以将一个模板的逻辑建立在另一个模板的输出上吗?
  • 为什么我的生活是这样的?没关系,我知道那个答案。
0 投票
1 回答
12479 浏览

liferay - 获取速度列表中的项目数

我正在为 Liferay 站点创建一组自定义模板和结构。

一种结构提供了一个可重复的部分,然后它的匹配模板对其进行迭代。

但是,出于样式原因,我需要知道实际存在多少可重复部分的实例,并且在循环之前我需要知道。

所以,模板代码是这样的:

我想在 foreach之前做一些条件逻辑,并根据 $chunk 的数量在包含元素上发出不同的 CSS 类名。

任何想法如何访问兄弟姐妹的数量而不先遍历它们?

0 投票
1 回答
25908 浏览

velocity - 以速度输出字符串的一部分

如果我胡说八道或胡言乱语,我深表歉意,但我对速度和这些论坛不熟悉!

我需要检查某个字符的字符串内容,如果出现则输出文本的第二部分。例如:

我想在 3 个星号之后输出所有文本。我已经搜索了论坛,但找不到任何可以完全帮助我的东西。

0 投票
1 回答
2704 浏览

arrays - 在 VTL 中对字符串数组进行排序

作为主要的 VB.NET 程序员,我对 VTL(速度模板语言)非常陌生。我目前正在尝试自定义使用 Velocity 模板和 Jython 的应用程序。

我在现有文件中有以下 VTL 代码。此代码从 JSON 文件中获取一些键值对,并将它们以整齐的表格形式输出到浏览器:

我可以显示 $keySet 数组:

我试图做的是按字母顺序对 $keySet 数组中的字符串进行排序。

我尝试通过更改来使用 SortTool(http://velocity.apache.org/tools/devel/javadoc/org/apache/velocity/tools/generic/SortTool.html

但是 sort() 函数返回的数组是空的。

此外,我不认为http://www.liferay.com/community/forums/-/message_boards/message/11146823中列出的解决方案适用,因为我没有尝试对子字段进行排序。

任何建议将不胜感激。提前致谢。

0 投票
1 回答
285 浏览

javascript - JavaScript 中是否有速度端口

我知道 apache velocity 可用于 Java 和 .NET。是否还有 JavaScript 的端口?我的目标是在浏览器中翻译 VTL 模板,而不需要往返于 Web 服务器。