我正在尝试在我的项目中使用velocity。我指的是来自here的代码。除了创建带有消息的html页面之外,我的代码没有做太多。
public static void main(String[] args) {
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate("seat.html");
VelocityContext vc = new VelocityContext();
vc.put("message", "Hello Velocity");
StringWriter sw = new StringWriter();
t.merge(vc, sw);
System.out.println(sw);
}
我的模板文件seat.html
与包含此方法的类位于同一文件夹中,也位于项目的src文件夹中。这不起作用,所以我尝试使用绝对路径名来引用。但这也不起作用。我还尝试使用FilePathLoader
和Properties
配置速度,但我想这个简单的示例应该如tutorial(上面提到的)所示。
文件夹结构:
velocity-test
`-- src
|-- bean
|-- core
| |-- Application.java
| `-- seat.html
`-- seat.html
Excception:
SEVERE: ResourceManager : unable to find resource 'seat.html' in any resource loader.
Exception in thread "main" org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'seat.html'
at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474)
at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:352)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1533)
at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1514)
at org.apache.velocity.app.VelocityEngine.getTemplate(VelocityEngine.java:373)
at core.Application.main(Application.java:16)
关于SO的问题还有很多问题,但所有这些问题都使用了一些属性来配置速度引擎;这是我不想要的。
提前致谢!
答案 0 :(得分:2)
只需更改为
ve.getTemplate("./src/seat.html");