0

我正在使用 amazon java sdk 发送电子邮件。我必须将 html 模板作为邮件发送。我为此编写了一个程序,它运行良好。但现在我将整个 html 代码存储在一个字符串中。但是每当我需要编辑模板时,我都必须编辑程序(我的意思是字符串变量)。而且我还必须注意该html代码中的特殊字符,如“\ ...等。请建议我一种优雅的方式来解决这个问题。

4

4 回答 4

2

为此使用模板引擎并将模板存储在外部类路径或文件系统中。这是一个可以帮助您选择一个问题:https ://stackoverflow.com/questions/2381619/best-template-engine-in-java

于 2012-12-11T07:40:58.427 回答
1

使用Apache Common Lang api StringEscapeUtils#escapeHtml,它使用 HTML 实体转义字符串中的字符,并返回一个新的转义String字符,如果输入为 null,则返回 null string

例如:

"US" & "UK"

变成:

"US" & "UK".
于 2012-12-11T07:42:28.147 回答
1

检查Apache Velocity 项目。您可以为几件事创建模板。从它的用户指南页面

Velocity 可用于从模板生成网页、SQL、PostScript 和其他输出。它既可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。

您可以使用 VTL(速度模板语言)。来自上述链接的示例

<HTML>
<BODY>
Hello $customer.Name!
<table>
#foreach( $mud in $mudsOnSpecial )
   #if ( $customer.hasPurchased($mud) )
      <tr>
        <td>
          $flogger.getPromo( $mud )
        </td>
      </tr>
   #end
#end
</table>
于 2012-12-11T07:43:40.877 回答
0

Better and easiest way is reading the html file line by line using simple file reading operation and append this each line to a single String. And also I found this solution (also a better one, if you are ready to add one more library file to your project) from SO.

于 2012-12-12T05:05:18.040 回答