2011-12-13 64 views
6

我想在Java Web应用程序中使用StringTemplate来生成HTML电子邮件。当试图输入换行符时,我使用\<br\>这似乎不起作用。 \<b\>不能正常工作。有没有办法关闭<和>作为分隔符,以便我可以测试这是否是问题?遍布StringTemplate的文档,它说,使用$ ... $为您的分隔符,但并没有说如何不使用< ...>StringTemplate删除< >作为分隔符

回答

6

在创建一组您可以通过使用

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

其中'$'和'$'是您的分隔符。

+1

我仍然不断收到'无效字符'<''。你确定它确实禁用''作为分隔符? – elias

+0

请参阅下面Dan的[答案](http://stackoverflow.com/a/15217001/2617691)。如果您在st文件中没有ST标头,请改用STRawGroupDir。 – matof

2

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

即使你做出x.st文件中要加载到程序,并在某些时候呈现STGroupDir,你必须定义文件中语法(就像你将一个STGroupFile内),像这样:

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

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

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