看了网上很多例子,再结合项目中使用到的Velocity技术用做模板实现,介绍如果实现邮件发送功能。
最后看一下模板是怎么写的
真的是很easy吧:)
- 设置Velocity
java 代码
- Properties p = new Properties();
- p.setProperty("input.encoding", "GB2312");
- p.setProperty("output.encoding", "GB2312");
- p.setProperty("resource.loader", "class");
- p.setProperty("class.resource.loader.class",
- "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
- Velocity.init(p);
- 对于每种邮件,首先设置好不同的邮件模板。如果可以允许用户自定义模板的话,可以增加用户自定义模板功能,根据用户发送邮件的不同,选择出不同的邮件模板。
- 根据邮件模板,填充邮件内容
java 代码
- //对模板中的变量进行赋值
- VelocityContext context = new VelocityContext();
- context.put("projectName", projectName);
- ……
java 代码
- //取得模板
- Template template = Velocity.getTemplate("createBug_" + langStr+ ".vm");
java 代码
- //填充模板
- Writer writer = new StringWriter();
- template.merge(context, writer);
- writer.flush();
最后看一下模板是怎么写的
java 代码
- BUG编号: $!{bugId}
- BUG描述: $!{bugDescription}
- 提交日期: $!{bugSubmitDate}