簡體   English   中英

將HTML文件存儲在Java中的字符串中

[英]Storing html file in a String in java

我正在使用Amazon Java SDK發送電子郵件。 我必須將html模板作為郵件發送。 我已經為此編寫了一個程序,並且運行正常。 但是現在我將整個html代碼存儲在單個String中。 但是,每當需要編輯模板時,都必須編輯程序(我的意思是String變量)。 另外,我還必須注意html代碼中的特殊字符,例如“ \\ ... etc”。請向我建議一種解決此問題的優雅方法。

為此使用模板引擎,並將模板外部存儲在類路徑中或文件系統上。 這是一個可以幫助您選擇一個問題的問題: https : //stackoverflow.com/questions/2381619/best-template-engine-in-java

使用Apache Common Lang api的 StringEscapeUtils#escapeHtml ,它使用HTML實體對String中的字符進行轉義,並返回一個新的轉義String ,如果輸入的是空string ,則返回null。

例如:

"US" & "UK"

變為:

"US" & "UK".

檢查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>

更好和最簡單的方法是使用簡單的文件讀取操作逐行讀取html文件,並將每行附加到單個String。 我也從SO中找到了這種解決方案(如果您准備向項目中再添加一個庫文件的話,也是一種更好的解決方案)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM