Thanks, Nathan.  This sounds like the right approach.

Do you mean org.apache.velocity.tools.view.servlet.WebappLoader?
I don't find a WebappResourceLoader. Assuming you do mean the WebappLoader, then I'm having a little trouble getting it to initialize properly. Will your method work with the Singleton approach?

My initialization code is as follows:

   public static void initVelocity(ServletContext ctx)
   throws VelocityInitializationException
   {
Velocity.setProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS,
         "org.apache.velocity.runtime.log.Log4JLogChute" );

       Velocity.setProperty("runtime.log.logsystem.log4j.logger",
                       "Velocity");
Velocity.setProperty("resource.loader.class",
               "org.apache.velocity.tools.view.servlet.WebappLoader");
Velocity.setApplicationAttribute("javax.servlet.ServletContext", ctx);


       try {
           Velocity.init();
       } catch (Exception e) {
           throw new VelocityInitializationException(e);
       }
   }

Yet when I run it I see the following in the log:

2008-12-28 19:12:08,166 [main] DEBUG Velocity - ResourceLoader instantiated: org.apache.velocity.runtime.resource.loader.FileResourceLoader

and when I go to access my templates they, of course, can't be found.

What am I doing wrong?

Steve

Nathan Bubna wrote:
...

Yeah, i don't think you really need the VelocityViewServlet.  (Note
that the VelocityServlet class is deprecated).   But so long as you
are running in a webapp container like Tomcat and have access to a
ServletContext, you can use the WebappResourceLoader (from
VelocityTools 2) to load templates from your web context.  Just
remember to put the ServletContext object in your VelocityEngine (or
singleton) application attributes before you initialize it:

VelocityEngine engine = new VelocityEngine();
engine.setApplicationAttribute("javax.servlet.ServletContext",
theServletContext);
engine.init(properties);
...

Thanks.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]





---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to