2013-08-01 67 views
0

我已經構建了一個小型的Java桌面應用程序,也發送電子郵件。一切工作正常,但我想使用電子郵件的HTML模板。有誰能做到這一點? 我做:如何在桌面應用程序中將HTML模板用於電子郵件?

HtmlEmail email = new HtmlEmail(); 
email.setHtmlMsg(htmlString); 

其中htmlString是這樣的:

String htmlString= "<html><table><tr><td width='200px'>Name</td><td width='200px'>Start Date</td><td width='200px'>Deadline</td>" 
+0

你想做什麼不清楚。你想開發自己的輕量級模板引擎? – mael

+0

不,我只想發送看起來不錯的電子郵件,例如使用HTML頁面模板。我在我的應用程序中創建了它,但我不知道如何在這種情況下將它集成。 –

回答

1

您可以將一個Resource Bundle文件中的模板。通常,這些類型的文件具有.properties擴展名,並且其內容的每一行都遵循模式key=value。這些文件必須在classpath

舉例來說,如果你有一個資源包文件,命名爲resources.properties,並放置在包中,命名爲somepackage並具有下列內容:

template.email=<html><table><tr><td width='200px'>{1}</td><td width='200px'>{2}</td><td width='200px'>{3}</td> 

注意與{1}{2}{3}我已經標記了那些必須被替換的消息片段,以便在需要時構建完整的消息。

爲了從資源包得到所有的信息,你需要做到以下幾點:

ResourceBundle rb = ResourceBundle.getBundle("somepackage.resources"); 
Enumeration <String> keys = rb.getKeys(); 
while (keys.hasMoreElements()) { 
    String key = keys.nextElement(); 
    String value = rb.getString(key); 
    System.out.println(key + ": " + value); 
} 

你可以找到更多信息here

+0

謝謝,但我可以在這種情況下使用CSS嗎? –

+0

是的。如果你想引用soms CSS類,你必須小心'.css'文件的路徑,它包含它們 –

+0

好吧,我現在就試試,謝謝 –

相關問題