Java 未找到velocity模板资源异常
发生异常: org.apache.velocity.exception.ResourceNotFoundException:无法 查找资源“ResourceLoader1.vm” 我在/WEB-INF/templates中有ResourceLoader1.vm,我坚持这个,请帮助我Java 未找到velocity模板资源异常,java,servlets,velocity,Java,Servlets,Velocity,发生异常: org.apache.velocity.exception.ResourceNotFoundException:无法 查找资源“ResourceLoader1.vm” 我在/WEB-INF/templates中有ResourceLoader1.vm,我坚持这个,请帮助我 Properties props = new Properties(); props.put("file.resource.loader.path", "/WEB-
Properties props = new Properties();
props.put("file.resource.loader.path", "/WEB-INF/templates");
Velocity.init(props);
VelocityContext context = new VelocityContext();
context.put("greetings", "Many Happy returns");
context.put("name", "Joseph");
Writer writer = new StringWriter();
Template template = Velocity.getTemplate("ResourceLoader1.vm");
template.merge(context, writer);
您应该相对于类路径放置.vm模板。更好的选择是将/templates目录放在WEB-INF/classes下,丢失道具,然后按如下方式获取它:
Template template = Velocity.getTemplate("templates/ResourceLoader1.vm");
您应该相对于类路径放置.vm模板。更好的选择是将/templates目录放在WEB-INF/classes下,丢失道具,然后按如下方式获取它:
Template template = Velocity.getTemplate("templates/ResourceLoader1.vm");
似乎您正在web应用程序中使用Velocity。为此,您最好使用专门为这种用途设计的
与您的配置一起使用的
FileResourceLoader
不了解Web服务器、上下文和其他内容,因此您配置它的方式,它将在您的应用程序服务器运行的文件系统的根目录中查找WEB-INF
文件夹。似乎您正在WEB应用程序中使用Velocity。为此,您最好使用专门为这种用途设计的
与您的配置一起使用的
FileResourceLoader
不了解Web服务器、上下文和其他内容,因此您配置它的方式,它将在您的应用程序服务器运行的文件系统的根目录下查找WEB-INF
文件夹。我尝试过,但在eclipse中WEB-INF下没有类目录,我在eclipse IDE中运行,但是build下只有classes目录可用。因此我将templates/ResourceLoader1.vm放在build/classes下。请帮助我理解我是否错了。告诉Eclipse在创建WAR文件时将/templates目录及其内容复制到WEB-INF/classes中。我尝试过,但Eclipse中WEB-INF下没有classes目录,我在Eclipse IDE中运行,但build下只有classes目录可用。因此我将templates/ResourceLoader1.vm放在build/classes下。请帮助我理解我是否错了。告诉Eclipse在创建WAR文件时将/templates目录及其内容复制到WEB-INF/classes中。