标签: stringtemplate-4

我如何迭代stringtemplate中的java列表?

我想遍历stringtemplate中的hibernate查询结果.我一直在寻找例子但我找不到任何东西.

你能帮忙吗?谢谢

java stringtemplate-4

13
推荐指数
1
解决办法
1万
查看次数

StringTemplate删除<>作为分隔符

我试图在java Web应用程序中使用StringTemplate来生成HTML电子邮件.在尝试输入换行符时,我使用\<br\>这似乎不起作用. \<b\>工作不顺利.有没有办法关闭<和>作为分隔符,以便我可以测试这是否是问题?它在整个StringTemplate文档中都说使用$ ... $作为分隔符,但没有说明如何不使用<...>

html java stringtemplate stringtemplate-4

6
推荐指数
1
解决办法
2603
查看次数

StringTemplate 为给定模板定义的属性列表

我开始使用 StringTemplate 4,我正在尝试从存储在数据库中的简单字符串创建模板。我使用这样的东西:

STGroup group = new STGroupString(null, someTemplateString, '$', '$');
ST st = group.getInstanceOf(someTemplateName);
st.add(someAttribute, someValue);
Run Code Online (Sandbox Code Playgroud)

现在,如果我定义的全部或少于为模板定义的属性,则一切正常someTemplateName。现在,如果我尝试添加一个不存在的属性,则会出现以下异常:

no such attribute: fake
java.lang.IllegalArgumentException: no such attribute: fake
  ...
Run Code Online (Sandbox Code Playgroud)

这是有道理的。但是,我似乎无法事先知道为 template 定义了哪些属性someTemplateName。我期待找到类似的东西:

bool isDef = st.isDefined(someAttribute);
Run Code Online (Sandbox Code Playgroud)

但是没有这样的方法。我对么?有没有办法解决?

java stringtemplate-4

6
推荐指数
1
解决办法
1920
查看次数

使用Antlr 4和stringtemplate 4将PL/SQL代码转换为Java

我正在尝试构建一个可以使用Antlr 4和StringTemplate 4将PL/SQL代码转换为Java的转换器.我有PL/SQl的语法,并且已经为PL/SQL构建了一个解析器,但我不知道如何处理问题进一步.我发现了很多使用antlr和stringtemplate的语言翻译文章,但他们都使用ANTLR 3或ANTLR 2.因此使用Antlr 4与Stringtemplate一起翻译时有什么不同,因为使用Antlr 4的PL/SQL解析器与Antlr3有一些区别

我是编程语言翻译的新手,不知道是否有更好的方法来解决问题.

code-translation stringtemplate-4 antlr4

6
推荐指数
1
解决办法
4498
查看次数

我在哪里可以下载使用stringtemplate的完整示例java项目?

http://www.antlr.org/wiki/display/ST4/StringTemplate+4+Wiki+Home, http://www.stringtemplate.org/

我查看了维基,我可能正在通过所有树木错过森林,但我需要看到一个完全正常工作的java项目而不是一堆剪辑.理想情况下,几个完整的项目(github?)包含:

  • 商业逻辑.
  • header.htm,body.htm和footer.htm.
  • 多个正文页面,您可以看到它们如何与业务逻辑交互.

谢谢.

templates template-engine stringtemplate stringtemplate-4

5
推荐指数
1
解决办法
985
查看次数

StringTemplate getInstanceOf 返回 null

再会!

我开始使用 StringTemplate 并且遇到了一个非常烦人的问题。我有一个简单的模板“T.st”

T(name, email, passwort) ::= << ... >>
Run Code Online (Sandbox Code Playgroud)

它保存在目录“模板”中,该目录是我的源文件夹“src/main/resources”的一部分。当我执行以下几行时

STGroup group = new STGroupDir("templates");
ST st = group.getInstanceOf("T");
Run Code Online (Sandbox Code Playgroud)

组变量的根字段的值为“jar:file:/D:/path/to/apache-tomcat-8.0.21/wtpwebapps/application/WEB-INF/lib/service.jar!/templates/”

但是 st 将为空,即使 groupdir 显然已被找到,因为它存在于给定的 service.jar 中,并且当我将目录名称更改为不存在的名称时,我会收到一个异常,即该目录不存在。但我不确定为什么我无法获得我的 T 模板的实例。

假设我将我的模板保存在“C:/templates”中并使用它来获取 STGroup 我最终将获得一个有效实例并可以呈现正确的字符串。如果我的模板存储在普通目录(工作)或我的 service.jar 中的目录(不工作)中,为什么会有区别?

问候

java antlr stringtemplate-4

5
推荐指数
0
解决办法
422
查看次数

Stringtemplate-如何将日期格式设置为语言环境格式

我正在使用基于Stringtemplate4(ST)的ExcelExplorer处理Excel文件。这些文件包含带有日期的几列。默认情况下,日期以“ MM / dd / yy”日期格式呈现。

有没有一种方法可以将日期显示为“ dd / MM / yyyy”?

我已经尝试了几种方法:

  • 我尝试通过命令行定义它,但没有成功。
    • 定义LC_ALL = fr_FR不起作用。
    • 定义LC_TIME =“ dd / MM / yyyy”不起作用。请参阅设置Java语言环境设置
    • 使用以下命令行选项调用java无效。

java -Duser.language = fr -Duser.country = FR -Duser.variant = UTF-8 ...

我尝试了以下模板,但均未成功:

renderRow(row) ::= <<

<row.MyDate; format="dd/MM/yyyy"> 
>>
Run Code Online (Sandbox Code Playgroud)

尽管将MyDate属性定义为Date类型,但以上方法不起作用。我不想按照字符串模板电子邮件中的格式化日期中的建议,将MyDate定义为Java中的日期类型。

注意:检查后,我发现ExcelExporter / ST将MyDate属性定义为Date类型!

以下模板也不起作用:

renderRow(row; format="dd/MM/yyyy") ::= <<

<row.MyDate> 
>>
Run Code Online (Sandbox Code Playgroud)

java excel date date-format stringtemplate-4

5
推荐指数
1
解决办法
343
查看次数

如何使StringTemplate V4忽略&lt;作为分隔符?

我正在使用StringTemplate V4在我的项目中生成一些HTML代码。我需要有HTML格式在我的模板,所以使用默认的分隔符<,并>会非常尴尬。

因此,我正在创建一个将定界符作为参数传递的组(如本问题所建议),但它根本行不通。

这是我的测试代码:

public void testTemplate() {
    char sep = '$';
    STGroup stGroup = new STGroupString("temp",
            "<html>hello, $name$!</html>", sep, sep);
    System.out.println("Group created");
    ST st = stGroup.getInstanceOf("temp");
    if (st == null) {
        System.out.println("Failed to get template!");
    } else {
        st.add("name", "Guest");
        System.out.println("Template initialized correctly");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

temp 1:1: invalid character '<'
temp 1:5: invalid character '>'
temp 1:1: garbled template definition starting at 'html'
temp 1:6: garbled template definition starting at 'hello'
temp …
Run Code Online (Sandbox Code Playgroud)

java stringtemplate stringtemplate-4

4
推荐指数
1
解决办法
3061
查看次数

如何转义StringTemplate模板?

我正在尝试处理模板(见下文),我在eclipse控制台中收到各种消息.

我在网上搜索但是找不到我正在找的东西.我记得在这里看到了关于这个主题的一些内容,但我当时没有给它添加书签,也找不到了!:/

你能帮忙吗?谢谢

PS.我正在尝试使用StringTemplate构建电子邮件消息.并使用HTML标签为我们的客户"更容易阅读".

用于加载我的模板的java代码

STGroup stGroup = new STGroupDir("/resources/emailTemplates", '$', '$');
ST emailBody = stGroup.getInstanceOf("Fab");
Run Code Online (Sandbox Code Playgroud)

我的模板

<h3>Thank you for submitting your details.</h3>
Student ID: $studentId$<br />
Family Name: $familyName$<br />
Given Name: $givenName$<br />
Gender: $gender$<br />Course: $course$<br />
<h3>This is the final confirmation for MyApps Arrival Briefing (FAB).</h3>
$first$
</p><p>
$previous$
<p></p>
<p>If you have to cancel a booking please notify us by email: <a href="mailto:issu@">issu@myapps.com</a>. <br>For booking an additional event please revisit the <a href="http://www.myapps.com/international-students/services/">ISSU website</a> and …
Run Code Online (Sandbox Code Playgroud)

java antlr stringtemplate-4

4
推荐指数
1
解决办法
3607
查看次数

如何迭代字符串模板4映射的键和值?

在StringTemplate 4中,迭代的默认行为是迭代keys而不是values版本3中的行为.

我找不到如何通过迭代的语法keys values在同一时间为4版本.

有人可以发布一个语法示例吗?

stringtemplate stringtemplate-4

4
推荐指数
1
解决办法
1927
查看次数