问题标签 [stringtemplate-4]
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.
stringtemplate - StringTemplate 中的花括号
以下 StringTemplate 给了我一个“无效字符'}'”异常,因为后面的大括号结束return null;
:
我想要一个像这样的输出:
我怎样才能逃脱这个闭合的花括号?
stringtemplate - StringTemplate4 的自定义格式函数
我想知道如何为字符串模板创建自定义格式函数。假设我有以下代码:
目前,函数 customformat 的行为是:
输入:“hello world”-> 输出:“HELLO WORLD”
我想修改 customformat 函数,使输出如下所示:
输入:“hello world”-> 输出:“HELLO_WORLD”
java - 如何在 StringTemplate 中检索错误消息?
如何从 StringTemplate 检索编译时错误消息作为字符串?
例如这段代码:
将简单地记录诸如“无效让我完全惊讶”之类的内容,但我想在我的 UI 中显示此错误消息。
我可以访问ErrorManager
with stg.errMgr
。我期待像getErrors()
这里这样的方法,但没有......
stringtemplate - 使用 GUID 作为属性来替换 stringtemplate.org 模板
模板(stringtemplate.org 4 引擎)中是否有办法使用 GUID 作为要替换的属性或降低 stringtemplate 的表现力,因此它不会将分隔符之间的值评估为属性查找以外的任何值?
示例:以下失败并出现 Antlr4.StringTemplate.Compiler.TemplateException。
java - StringTemplate 缩进在 String 内添加空格
这显然是一个SSCCE。
我有以下模板文件:
...使用以下代码:
代码产生:
换句话说,字符串值在添加空格时被修改。当客户端解析 XML 文件时,即使有空格修剪,字符串值也会被视为已更改,因为在字符串中添加了空格。
我了解解决方案是将模板声明为:
...但即使这个解决方案也需要所有其他可能包含xml
渲染的节点也是右对齐的。
例如,假设上面渲染的值被嵌入到另一个模板中,那么下面的模板:
...也必须重写为:
...实际上需要确保所有节点的左对齐。
有没有办法指示 StringTemplate 按原样发出特定的 String 参数(如果其中存在新行,则不缩进),同时为所有其他情况保留空格/缩进(这样我的渲染输出不会丑)?
更新
我尝试使用NoIndentWriter但遇到了其他问题。所以看起来NoIndentWriter
确实确实发出了多行字符串,但不尊重模板文件中存在的空格。所以我回到了第一方。
java - NoIndentWriter 不尊重模板中的空格
我正在尝试使用NoIndentWriter类来解决我面临的与在多行字符串中插入空格相关的问题。
然而,它似乎NoIndentWriter
不仅仅是不自动缩进。特别是它会修剪所有前导(但不是尾随空格),即使明确存在于模板中也是如此。
例如,使用以下模板文件:
...以及以下代码:
...产生以下内容:
通过检查该out
文件,可以看到模板文件中存在的尾随空格被保留,但前导空格被修剪。
有没有办法指示 StringTemplate 在不使用AutoIndentWriter的情况下保留模板文件中的空格(因为它遇到了这个问题)?
java - 从文件 StringTemplate 中读取模板
我将模板引擎 StringTemplate 用于某些模板(显然)。
我想要的是能够将我拥有的模板存储在单独的文件中,当然我可以使用简单的 .txt 文件并将它们读入 a String
,看起来有点像这样
但我想知道的是 StringTemplate 引擎中是否有自动执行此操作的功能。所以我不必编写已经存在的代码。
我读过一些关于组文件的东西,但我不太明白,那些像模板文件吗?还是我完全错过了什么?
c# - 使用逗号作为 StringTemplate 4 的列表分隔符
我需要创建一个以逗号分隔的项目列表: $subjects : {sub | $sub.Name$}separator=", "$ 这似乎不起作用。使用分隔符的正确方法是什么?是否有另一种方法来创建以逗号分隔的项目列表?
c# - 使用 TemplateGroupDirectory 时遇到问题
我想将几个模板文件放在一个名为“Templates”的目录中,相对于我的应用程序的可执行文件,并使用它们。例如,一个模板文件被命名为“Globals.st”。
这样,我创建了一个 TemplateGroupDirectory 并加载了模板:
在尝试获取模板实例时,我收到一条消息说发生了 NullReferenceException。
我错过了什么?
stringtemplate - 使用 stringtemplate 用空白填充换行
如何用空格填充句子,以便将其打印在“块”中。
我想打印收据。对于给定的项目,我想打印数量、项目名称和价格。
我所指的“块”如下所示。
使用上面的示例,我可以轻松处理数量和价格的格式。使用字符串格式。然后对于项目名称,我认为最好的使用方法是在代码中拆分项目名称,并使用 StringTemplate 的换行功能,但我不知道如何用空格填充行的其余部分
我正在使用 .Net 和 StringTemplate 4。这是我拥有的模板的简化版本。假设我有一个具有 Quantity、ItemName(拆分为字符串数组)和 Price 属性的项目。
现在我能想到让它工作的唯一方法是计算代码中的空白并将其添加到项目名称数组中。
那么在 StringTemplate 中有没有一种巧妙的方法呢?