StringTemplate remove< >作为分隔符

时间:2011-12-13 13:54:07

标签: java html stringtemplate stringtemplate-4

我正在尝试在java web应用程序中使用StringTemplate来生成HTML电子邮件。在尝试输入换行符时,我使用\<br\>这似乎不起作用。 \<b\>效果不佳。有没有办法关掉&lt;和&gt;作为分隔符所以我可以测试这是否是问题?在整个StringTemplate文档中,它说使用$ ... $作为分隔符,但没有说明如何不使用&lt; ...&gt;

3 个答案:

答案 0 :(得分:6)

创建组时,您可以使用

设置分隔符
STGroup group = new STGroupDir("emails", '$','$');

'$'和'$'是你的分隔符。

答案 1 :(得分:2)

在模板组文件(.stg)的顶部,您可以输入:

delimiters "$", "$"

...或者你想要的任何分隔符。更多信息请访问: https://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax

答案 2 :(得分:2)

虽然Lumpy肯定正确地回答了这个问题,但他没有解决我所遇到的问题,所以我想我会在这里为未来的读者添加我的解决方案。

即使你在x.st中创建了一个STGroupDir文件,你想加载到程序中并在某个时候渲染,你也必须在该文件中定义一个语法(就像你想的那样)在STGroupFile内部,如此:

x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"

请注意,语法应与文件同名(当然,减去.st扩展名。)

如果您的模板中有很多引号,或者您不希望在文件顶部包含模板声明,或者您希望拥有一个非常长的模板,那么这很不方便。在这些情况下,您应该使用STRawGroupDir。缺点是模板文件顶部没有中心位置,用于命名必须传入的所有变量。