我正在使用力度模板为通知系统生成纯文本电子邮件。我有一个“收件人”POJO列表,其中包含用户ID和电子邮件地址。我想迭代这些POJO并在一行中输出用户ID(最后用一些分隔符(如逗号)分隔)。我在格式化输出时遇到问题。例如:
For Info: #foreach( $addressee in $info_addressees )$addressee.userId #end
For Action: #foreach( $addressee in $action_addressees )$addressee.userId #end
不幸的是,这并不会在每个foreach循环后创建一个新行。所以我得到类似的东西:
对于Info:user1 user2 user3 For Action:user4 user 5 user6
我似乎能够在每个foreach循环的末尾添加一个新行的唯一方法是添加一些额外的字符,例如:
For Info: #foreach( $addressee in $info_addressees )$addressee.userId END #end
For Action: #foreach( $addressee in $action_addressees )$addressee.userId END #end
我尝试在最后使用空格,但似乎这些都是狼吞虎咽,因此被忽略(不是我的预期)。
这样做的正确方法是什么?可以用宏来完成吗?
模板的输出必须是纯文本(不能像HTML那样结构化);并且,格式化必须在模板中完成,而不是在放入模板模型之前。
答案 0 :(得分:2)
#set( $n = '
')
#foreach($foo in $bar)$foo $n#end
or use the EscapeTool from the VelocityTools project
#foreach($foo in $bar)$foo $esc.n#end