我正在尝试在 Java Web 应用程序中使用 StringTemplate 来生成 html 电子邮件。尝试输入换行符时,我使用\<br\>
这似乎不起作用。 \<b\>
也不能正常工作。有没有办法关闭 < 和 > 作为分隔符,以便我可以测试这是否是问题?在整个 StringTemplate 文档中,它都说使用 $...$ 作为分隔符,但没有说明如何不使用 <...>
问问题
2914 次
3 回答
6
创建组时,您可以使用
STGroup group = new STGroupDir("emails", '$','$');
'$' 和 '$' 是你的分隔符。
于 2011-12-13T14:12:40.847 回答
2
在模板组文件 (.stg) 的顶部,您可以放置:
delimiters "$", "$"
...或任何你想要的分隔符。更多信息位于: https ://theantlrguy.atlassian.net/wiki/display/ST4/Group+file+syntax
于 2012-10-16T15:21:23.963 回答
2
尽管 Lumpy 确实正确地回答了这个问题,但他并没有解决我遇到的问题,所以我想我会在这里为未来的读者添加我的解决方案。
即使您在要加载到程序中并在某个时候渲染的x.st
文件中创建了一个文件STGroupDir
,您也必须在该文件中定义一个语法(就像您在 a 中STGroupFile
一样),如下所示:
x(variables, go, here) ::= "this uses $variables$ such as $go$ and $here$"
请注意,语法应该与文件具有相同的名称(.st
当然要减去扩展名)。
如果您的模板中有很多引号,或者如果您不想在文件顶部包含模板的声明,或者如果您想要一个非常长的模板,这会很不方便。在这些情况下,您应该使用STRawGroupDir
. 缺点是模板文件的顶部没有中心位置来命名所有必须传入的变量。
于 2013-03-05T06:11:29.607 回答