问题标签 [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.
java - 你能阻止 StringTemplate 输出到标准错误吗?
我目前使用以下内容输出到使用 StringTemplate 的 servlet:
当我这样做时,StringTemplate 会向 Stderr 打印警告;用无用的警告填充日志文件并不理想。
如果我正确理解文档,以下将解决此问题:
顺便说一句,这样做是否会节省在内存中构建一整页字符串的必要性?
java - StringTemplate 检查数组在java中是否为空
如果数组不为空,如何使用 StringTemplate 检查?
下面的例子不起作用:
其他(不工作)例如:
输出:
java - 如何从资源包中加载 StringTemplates?
我有以下包结构
我想.st
从资源包中加载文件。我不知道如何为该文件夹获取正确的文件路径。
我想做类似(来自文档的片段)来加载我的模板:
我还想获得可以在创建可执行 jar 时在运行时访问它们的模板。
stringtemplate-4 - 在 StringTemplate-4 模板中生成和使用数组
我是StringTemplate4的新手,可能我会问一些过于简单、不可能或愚蠢的问题,但我找不到任何其他信息。到目前为止,我已经设置了这个最小的模板集:
我想得到:
通过调用以下代码:
可能吗?提前谢谢了。
java - 如何在添加任何属性之前从匿名 StringTemplate (v4) 中获取间隙名称列表?
我正在尝试将 StringTemplate.v4 用于简单的模板,这意味着只有简单的间隙名称,例如%body%
-- 我没有使用任何其他功能,例如 if-logic、子模板或表达式。
(老实说,它的API文档记录很差,此时我正在考虑完全放弃它。如果有 JavaDoc源代码链接会很好,所以至少我可以自己挖掘并解决问题。真的很沮丧.)
我正在尝试确定匿名模板中存在的差距,以在尝试使用它之前验证它是否具有所需的差距。
输出:
我发现了为什么在这个谷歌组线程getAttributes()
中返回,以及关于这个问题:StringTemplate list of attributes defined for a given template)。null
formalArguments
那么,在填补任何空白之前,如何获得匿名模板中实际存在的所有空白呢?我意识到我可以用 regex做到这一点,但我希望有一种内置的方式来做到这一点。
谢谢。
stringtemplate-4 - 无法在 StringTemplate 4 中捕获 STException
我无法捕捉到 STGroupFile 抛出的 STException。这是个问题。如果模板不好,我需要中止。为了重现这个问题,我有一个名为 tmp.stg 的不正确的模板文件:
这个处理它的常规代码:
当我运行该脚本时,我收到一条错误消息,但我无法捕获异常:
错误消息来自 STGroupFile.java:
但我无法捕捉到这个异常。我怎样才能捕捉到这个异常并中止?
java - 为什么我会使用看似简单的 StringTemplate 代码得到 NullPointerException?
我想使用 StringTemplate 4 在我的 Google App Engine 应用程序中呈现视图。
在我的控制器中(如果重要,我将使用 Slim3 MVC 框架),我有以下代码:
page.st
我在目录中有一个名为的 ST 文件war/templates/default
当我运行此代码时,我得到以下NullPointerException
. 在线查看ST代码时,似乎与文件路径有关。模板文件的路径可通过 Web 浏览器导航到该路径。
这是异常的相关部分:
编辑:
我发现我的文件格式不正确。如果您的 page.st 文件是有效格式,您将不会获得NullPointerException
. 这是一个有效 page.st 文件的示例。上面,我添加了从 servlet 呈现此页面所需的内容。
antlr - StringTemplate V4 ''->" 语法
新手(或愚蠢)问题:
我正在尝试使用 StringTemplate V4 将一种语言转换为另一种语言,例如 C 到 nuSMV。到目前为止,我注意到我必须“检测”我的语法文件 (g4) 以告知我应该替换的内容。例如:
当我尝试运行该代码时,我的 Eclipse 中出现以下异常:
我究竟做错了什么?
java - 如何在 StringTemplate 中默认转义 HTML?
在 HTML 模板引擎中,默认占位符文本对 HTML 进行转义是非常好的做法,以帮助防止 XSS(跨站点脚本)攻击。是否可以在 StringTemplate 中实现这种行为?
我试图注册自定义AttributeRenderer
转义 HTML,除非format
是"raw"
:
但它失败了,因为在这种情况下 StringTemplate 不仅会转义占位符文本,还会转义模板文本本身。例如这个模板:
呈现为:
有人可以帮忙吗?
java - 字符串模板 4 STGroupDir 的问题
我们在 java 中使用字符串模板已经有一段时间了,刚刚升级到字符串模板 4.0.7。
在字符串模板 3.2(我们之前使用的版本)中,我有一个名为stringtemplate.st
in的字符串模板文件src/main/resources
,我们只是有一个名为任何我们喜欢的东西的组,因为它似乎没有什么区别,并像这样加载模板:
更新到 4.0.7 后,如果您希望加载单个文件,我的理解是您需要有一个STGroupDir
对象,其名称为模板所在的文件夹。因此,我将 stringtemplate 文件移动到src/main/resources/templates
并将上面的代码更改为:
然后当我尝试填充字符串模板时,这会导致抛出一个空指针,并且似乎没有找到任何模板。
我的理解是传递给 STGroupDir 构造函数的 String 应该是模板文件所在的目录,如果在那里找不到模板文件,无论如何都会搜索类路径。我从根本上误解了什么吗?关于我做错了什么的任何建议?