将html文件存储在java中的String中

时间:2012-12-11 07:37:47

标签: java html string file

我正在使用amazon java sdk发送电子邮件。我必须发送html模板作为邮件。我为此编写了一个程序,它工作正常。但现在我将整个html代码存储在一个String中。但每当我需要编辑模板时,我必须编辑程序(我的意思是String变量)。此外,我必须在html代码中注意像“\ ...等”这样的特殊字符。请建议我一个优雅的方法来解决这个问题。

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

例如:

"US" & "UK"

变为:

"US" & "UK".

答案 2 :(得分:1)

检查Apache Velocity Project。您可以为多个事项创建模板。从它的user-guide page

开始
  

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>

答案 3 :(得分:0)

更好,最简单的方法是使用简单的文件读取操作逐行读取html文件,并将每行附加到单个String。我还发现this解决方案(如果您准备再为项目添加一个库文件,也是一个更好的解决方案)。