1 回答
TA贡献1831条经验 获得超9个赞
我们可以使用速度来实现这一点,我已经实现了使用模板控制器的目标,这是我的最终解决方案
使用这些 Maven 依赖项
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
</dependency>
因为我们需要为此创建一个模板(.vm)文件src/main/resources
然后创建一个VelocityEngine
VelocityEngine velocityEngine = new VelocityEngine();
velocityEngine.setProperty("resource.loader", "class");
velocityEngine.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
velocityEngine.init();
现在我们需要用这个生成一个模板velocityEngine
String page = "./ww_email.vm";
Template template = velocityEngine.getTemplate(page);
要将数据传递给模板,我们应该使用VelocityContext
VelocityContext velocityContext = new VelocityContext();
velocityContext.put("title", title);
velocityContext.put("content", html);
然后创建一个StringWriter从模板中获取HTML字符串
StringWriter stringWriter = new StringWriter();
然后将其stringWriter与velocityContext
template.merge(velocityContext, stringWriter);
最后,你可以得到像这样的HTML字符串
String htmlCodeString = stringWriter.toString()
添加回答
举报