多行编辑框值转换为HTML,在xpages中通过电子邮件发送

时间:2012-08-15 16:44:47

标签: html xpages

我发现了一些很棒的javascript代码(xpHTMLMail文件),可以创建一个HTML电子邮件,用户可以通过xpage文档动态创建这些电子邮件,并在销售人员面前撰写评论。但是,那里有一些Multiline编辑框,它们中有回车符,空格等。将它们添加到HTML时不会出现这些问题。我能做些什么来保持创建的电子邮件的格式?提前谢谢。

以下是处理我问题的这一部分的代码(inputClosing是一个多行编辑框):

mail.addHTML("<br /><br /><b>Closing</b><br />"+getComponent('inputClosing').getValue())

如果inputClosing有......

“亲爱的乔,

很棒的工作。坚持下去!

谢谢, 比尔“

它作为电子邮件进入......

亲爱的乔,伟大的工作。保持!谢谢,比尔

2 个答案:

答案 0 :(得分:2)

我写了那个图书馆,谢谢!

由于您正在创建HTML邮件,因此需要使用<br />标记替换多行编辑框的值中的换行符。由于您在XPage中处理Java,因此使用\r\n序列将换行符存储在值中。

您可以使用 replaceAll()或(SSJS) @ReplaceSubstring()功能替换它们。

您的代码可能如下所示:

var content:string = getComponent("inputClosing").getValue();   
mail.addHTML("<b>Closing</b><br />" + content.replaceAll("\r\n", "<br />") );

答案 1 :(得分:0)

马克的建议肯定有效,但是用<pre></pre>包装文本字段可能会更容易,然后它会将它们视为文本而不是html,无论它是什么类型的格式化字符。