我想从服务器端加载速度模板,如下所示:
try{
Template template = Velocity.getTemplate("common/pageNav.vm", "GBK");
Writer writer = new StringWriter();
VelocityContext vContext = new VelocityContext(context);
template.merge(vContext, writer);
return writer.toString();
} catch (Exception ex) {
ex.printStackTrace();
// throw new Exception(ex);
return "";
}
但它抛出异常
Unable to find resource 'common/pageNav.vm'
当我在tomcat中运行时,如何获取字符串。
答案 0 :(得分:0)
一种方法是Velocity的网络服务器支持:http://velocity.apache.org/engine/devel/webapps.html
另一个是弄清楚为什么getTemplate
没有解析模板。这很可能是相对路径名的问题......以及它正在解决的问题。解决方案取决于模板是在文件系统中还是通过应用程序的类加载器加载。 (这将取决于如何配置VelocityEngine;例如,您传递给Velocity.init(...)
的属性。)