そのため、タイトルに問題をできるだけ明確に書こうとしましたが、状況について詳しく説明します。現在Javaで、作成した電子メールテンプレートから情報を取得しようとしています。
電子メール データを取得したら、電子メール コンテンツのさまざまな部分に変数を挿入する必要があります。
たとえば、xml ファイルに記述された 3 つの異なる電子メール テンプレートがあります。etemplate1.xml、etemplate2、etemplate3。
これまでのところ、次のコードを使用して情報を取得しています。
String fm_subject = ""; // Formatted string of email subject
String fm_bodytext = ""; // Formatted string of email body text
String fm_bodytables = ""; // Formatted string of email body tables
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(getServletContext().getResourceAsStream("/"+requestType+".xml"));
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("emailtemplate");
Node nNode = nList.item(0);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
fm_subject = eElement.getElementsByTagName("subject").item(0).getTextContent();
fm_bodytext = eElement.getElementsByTagName("bodytext").item(0).getTextContent();
fm_bodytables = eElement.getElementsByTagName("bodytable").item(0).getTextContent();
注: requestType = 使用されるテンプレート
XML メール テンプレートの例:
<?xml version="1.0"?>
<emailtemplates>
<emailtemplate>
<subject>
subject information
</subject>
<bodytext>
This is the Body Text
</bodytext>
<bodytable>
This Body Tables
</bodytable>
</emailtemplate>
</emailtemplates>
私がする必要があるのは、変数を使用して、xml ファイルから取得するデータをフォーマットすることです。問題は、返されたデータの最後に変数を追加できないことです。
コード例:
user_id //変数の例
user_code //変数の例
fm_bodytext = eElement.getElementsByTagName("bodytext").item(0).getTextContent() + user_id + user_code;
これにより、変数は常に本文情報の最後に追加されます。xml 要素の bodytext の間に変数を追加する必要があります。
これは、私が望む方法のプレーンテキストでの明確な例です。
<bodytext>
This is the Body Text
hi user_id, your code is user_code
</bodytext>
うまくいけば、私は自分の問題を十分に説明しました。そうでない場合はお知らせください。問題の解決に努めます。
ありがとう !