• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Velocity Templates with Servlets

 
Meenal Srivastva
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, im trying to use velocity templates within a servlet get method.
i keep getting the error: Resource not Found for the ".vm" template file.
Below is the code i've used:

VelocityEngine ve = new VelocityEngine();
Properties props = new Properties();
String path = getServletContext().getRealPath("/");
props.setProperty( "resource.loader", "class" );
props.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path+"WEB-INF" );

out.println(props.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH));

Velocity.init(props);
VelocityContext context = new VelocityContext();
context.put("username", "administrator");
context.put("password","abc");
Template template = null;

template = Velocity.getTemplate("documentum-config.vm");
/*render the template into a Writer, here a StringWriter */

StringWriter writer = new StringWriter();
template.merge( context, writer );

File file=new File("/WEB-INF/documentum-config.xml");
FileOutputStream fos=new FileOutputStream(file);
DataOutputStream dos=new DataOutputStream(fos);
dos.write(writer.toString().getBytes());
dos.close();
}


Any pointers are welcome !
 
D Rog
Ranch Hand
Posts: 472
Linux Objective C Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

First statement tells Velocity to use class loader for getting .vm resources.
Second one tells package name. I doubt that you placed resources under WEB-INF/classes/context_name/WEB-INF/*.vm
 
Consider Paul's rocket mass heater.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic