我将收集数据库中的所有数据并将它们放入集合中。我想将该集合中的所有数据放入我的javamail主体中,其格式如下所示。我应该如何将列表数据放在正文内容中:
EmployeeName:Ranjeeth.
Login Time:09:30.
Logout Time:18:30.
使用转义字符如何用字符串写?
答案 0 :(得分:1)
最常见的方法之一是创建一个包含数据占位符的电子邮件模板。在运行时填充模板中的数据,然后使用java邮件正文中的完整文本。
逐步:
在项目中创建模板文件,例如mailBody.txt。内容可能是这样的:
员工姓名:## EMP_NAME ##。
登录时间:## LOGIN_TIME ##。
退出时间:## LOGOUT_TIME ##。
在运行时以字符串形式读取此文件内容,以便:
从inpitstream阅读内容
InputStream is = new FileInputStream("test"); // or your input stream
byte[] b = new byte[is.available()];
is.read(b);
String text = new String(b);
//System.out.println(text);
`String s = <content of the file>`
3。准备数据库中的数据,然后替换字符串内容占位符,如:
s = s.replace("##EMP_NAME##", <emp name value from database>)
s = s.replace("##LOGIN_TIME##", <login time value from database>)
s = s.replace("##LOGOUT_TIME##", <logout value from database>)
您可以在模板中添加任何类型的格式,标签,空格等,您的程序将无缝更改电子邮件文本。
编辑:一次又一次地重复某个部分: 如果你有重复的简单数据,只需考虑像内联一样创建它:
StringBuilder temp=new StringBuilder("");
for(loop to repeat the content){
temp.append(<Emp Name value from database>).append("\n\t\t")
.append(<login time value from database>).append("\n\t\t")
.append(<logout time value from database>).append("\n\t\t");
}
制作模板:
您好,
以下是用户的详细信息:
$#EMP_DETAILS#$
谢谢,你的名字
将模板读入字符串变量
String s = <content of the file>;
然后
s.replace("$#EMP_DETAILS#$", temp.toString());
你应该全力以赴。