从速度文件

时间:2017-12-21 12:34:32

标签: java javamail apache-velocity

我们正在使用Apache Velocity框架将电子邮件模板格式存储在.vm文件中。这些电子邮件具有中文字符内容。在Java中检索并显示为String时,中文字符将成为问号。

我们使用此代码将内容提取为字符串

VelocityEngine engine = new VelocityEngine();
engine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
engine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
engine.init();
VelocityContext context = new VelocityContext();
context.put("params", params);
StringWriter writer = new StringWriter();
Template template = engine.getTemplate("testfile.vm","UTF-8");
template.merge(context, writer);
String message = writer.toString();
System.out.println(message);

如果我们想在System.out中看到实际的中文字符怎么办?

PS:这与其他线程不同,因为下面的行对我不起作用。

Template template = Velocity.getTemplate("testfile.vm", "UTF-8");

尽管添加了“UTF-8”

,但在打印时仍会将问号转为问号

0 个答案:

没有答案