Strangely if I type : http://localhost:8080/myapproot/test.vm it loads
correctly witch means the mapping to "/templates" is correclty done. Anyway
I'll try reinstalling Tomcat and configuring again and tell you.

2007/1/2, Claude Brisson <[EMAIL PROTECTED]>:

Your config seems correct. Could the problem come from the tomcat
configuration, not having the /myapp/ directory correctly map to the
root of your webapp?

Btw, once you have solved this problem, you may want to factorize the
instances of the velocity engine among your servlets (you can override
the initVelocity and setVelocityEngine methods to do so) otherwise
you'll have two instances of the velocity engine.


  Claude

Le lundi 01 janvier 2007 à 08:11 -0800, Will Glass-Husain a écrit :
> Hi,
>
> Any VelocityViewServlet users out there want to comment on Xabier's
> email?  Did Xabier set up his velocity.properties correctly?
>
> Xabier-- you might want to send a reminder note a day or two after the
> holiday weekend, try again...
>
> WILL
>
> On 12/29/06, Xabier Burgos <[EMAIL PROTECTED]> wrote:
> > First of all I'd like to say hello everyone, since I'm new to the
> > list. Now to the "meat".
> >
> > I'm a newcommer to the velocity templating system and I'm having some
> > trouble. I've setup Tomcat 5.5.2 and compiled Velocity 1.5 beta 2 and
> > VelocityTools 1.2. I've created a servlet that extends
> > VelocityViewServlet:
> >
> > public class index extends VelocityViewServlet
> > {
> >
> >     public Template handleRequest(HttpServletRequest request,
> > HttpServletResponse response, Context context)
> >     throws ParseErrorException, ResourceNotFoundException
> >     {
> >         Template tpl = null;
> >         context.put("name","Xabi");
> >         try
> >         {
> >             tpl = super.getTemplate ("test.vm");
> >
> >             StringWriter writer = new StringWriter();
> >             tpl.merge (context,writer);
> >         }
> >         catch (ResourceNotFoundException rnfd)
> >         {
> >             System.out.println ("<p>Error: No se encontró la
> > plantilla</p>");
> >             rnfd.printStackTrace (System.out);
> >         }
> >         catch (ParseErrorException perrex)
> >         {
> >             System.out.println ("<p>Error: Fallo parseando la
> > plantilla</p>");
> >             perrex.printStackTrace (System.out);
> >         }
> >         catch (Exception ex){}
> >      return tpl;
> >     }
> >
> > I've also added the corresponding servlet mappings in my web.xml:
> >
> > <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee";
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
> >         <servlet-name>index</servlet-name>
> >         <servlet-class>index</servlet-class>
> >         <init-param>
> >             <param-name>properties</param-name>
> >             <param-value>/WEB-INF/velocity.properties</param-value>
> >         </init-param>
> >         </servlet>
> >     <servlet>
> >         <servlet-name>velocity</servlet-name>
> >
> > <servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
> >
> >         <init-param>
> >             <param-name>org.apache.velocity.toolbox</param-name>
> >             <param-value>/WEB-INF/toolbox.xml</param-value>
> >         </init-param>
> >         <init-param>
> >             <param-name>org.apache.velocity.properties</param-name>
> >             <param-value>/WEB-INF/velocity.properties</param-value>
> >         </init-param>
> >         <load-on-startup>10</load-on-startup>
> >         </servlet>
> >     <servlet-mapping>
> >         <servlet-name>index</servlet-name>
> >         <url-pattern>/</url-pattern>
> >     </servlet-mapping>
> >     <servlet-mapping>
> >         <servlet-name>velocity</servlet-name>
> >         <url-pattern>*.vm</url-pattern>
> >     </servlet-mapping>
> >     <session-config>
> >         <session-timeout>
> >             30
> >         </session-timeout>
> >     </session-config>
> > </web-app>
> >
> > And also created a velocity.properties file in
> > /WEB-INF/velocity.properties:
> >
> > resource.loader = webapp
> > webapp.resource.loader.class =
> > org.apache.velocity.tools.view.servlet.WebappLoader
> > webapp.resource.loader.path=/templates
> > webapp.resource.loader.cache = true
> > runtime.log=/WEB-INF/logs/velocity.log
> > input.encoding=UTF-8
> > output.encoding=UTF-8
> >
> > And created a very simple template called test.vm in
> > /MyAppRoot/templates/test.vm:
> >
> > <?xhtml version="1.0" encoding="UTF-8"?>
> > <html>
> >     <head>
> >         <title>Test</title>
> >     </head>
> >     <body>
> >         THIS IS A TEST:</br>
> >         Hello $name
> >     </body>
> > </html>
> >
> > But whenever I go to http://localhost:8080/myapp , I only get a blank
> > page.
> > Digging into Tomcat logs, I've found this:
> >
> > INFO:  Velocity  :
> > *******************************************************************
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Starting Apache Velocity v1.5-beta2(compiled:
> > 2006-11-24 22:45:47)
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  : RuntimeInstance initializing.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Default Properties File:
> > org\apache\velocity\runtime\defaults\velocity.properties
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Trying to use logger class
> > org.apache.velocity.tools.view.servlet.ServletLogger
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [info] LogSystem has been deprecated. Please use a
> > LogChute implementation.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Default ResourceManager initializing. (class
> > org.apache.velocity.runtime.resource.ResourceManagerImpl)
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] ResourceLoader instantiated:
> > org.apache.velocity.tools.view.servlet.WebappLoader
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [info] WebappLoader : initialization starting.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [info] WebappLoader : added template path -
> > '/templates/'
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [info] WebappLoader : initialization complete.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] ResourceCache: initialized (class
> > org.apache.velocity.runtime.resource.ResourceCacheImpl)
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  : Default ResourceManager initialization complete.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Loaded System Directive:
> > org.apache.velocity.runtime.directive.Literal
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Loaded System Directive:
> > org.apache.velocity.runtime.directive.Macro
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Loaded System Directive:
> > org.apache.velocity.runtime.directive.Parse
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Loaded System Directive:
> > org.apache.velocity.runtime.directive.Include
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Loaded System Directive:
> > org.apache.velocity.runtime.directive.Foreach
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Created '20' parsers.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  : Velocimacro : initialization starting.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : "velocimacro.library" is not
> > set.  Trying default library: VM_global_library.vm
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : Default library not found.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : allowInline = true : VMs can be
> > defined inline in templates
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : allowInlineToOverride = false :
> > VMs defined inline may NOT replace previous VM definitions
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : allowInlineLocal = false : VMs
> > defined inline will be global in scope if allowed.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [debug] Velocimacro : autoload off : VM system will
> > not automatically reload global library macros
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  : Velocimacro : Velocimacro : initialization
complete.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  : RuntimeInstance successfully initialized.
> > 28-dic-2006 19:00:48 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [info] VelocityViewServlet: Default content-type is:
> > text/html; charset=UTF-8
> > 28-dic-2006 19:00:52 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [error] ResourceManager : unable to find resource
> > 'test.vm' in any resource loader.
> > 28-dic-2006 19:00:52 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [warn] VelocityViewServlet: couldn't find template
to
> > match request.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [error] ResourceManager : unable to find resource
> > 'test.vm' in any resource loader.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [warn] VelocityViewServlet: couldn't find template
to
> > match request.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [error] ResourceManager : unable to find resource
> > 'test.vm' in any resource loader.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [warn] VelocityViewServlet: couldn't find template
to
> > match request.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity  [error] ResourceManager : unable to find resource
> > 'test.vm' in any resource loader.
> > 28-dic-2006 19:00:53 org.apache.catalina.core.ApplicationContext log
> > INFO:  Velocity   [warn] VelocityViewServlet: couldn't find template
to
> > match request.
> >
> > Witch for me indicates that the templates path I setup in
> > resource.loader is readed correctly but for some reason I don't know
> > whenever I return the template, it's searched in the AppRoot folder.
> >
> > Does anybody have an idea on how to fix this?
> > P.S: Sorry about the long mail, but I thought giving more information
> > would be better.
> >
> > --
> > Xabier Burgos - http://www.coder-times.org
> >
> > "Libros, caminos y días, dan al hombre sabiduría".
> > Viejo proberbio árabe.
> >
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Xabier Burgos - http://www.coder-times.org

"Libros, caminos y días, dan al hombre sabiduría".
Viejo proberbio árabe.

Reply via email to