Velocity 1.5b2 & VelocityView

Discussion in 'Java' started by Xabi, Dec 28, 2006.

  1. Xabi

    Xabi Guest

    First of all I'd like to say hello everyone, since I'm new to the
    group. 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 post, but I thought giving more information
    would be better.
     
    Xabi, Dec 28, 2006
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Soeren Gerlach
    Replies:
    0
    Views:
    446
    Soeren Gerlach
    Jul 15, 2004
  2. Giovanni Bajo

    Python 2.5b2 Windows binaries

    Giovanni Bajo, Jul 18, 2006, in forum: Python
    Replies:
    0
    Views:
    900
    Giovanni Bajo
    Jul 18, 2006
  3. Larry Bates

    Python 2.5b2 and excepthook problem

    Larry Bates, Aug 7, 2006, in forum: Python
    Replies:
    0
    Views:
    308
    Larry Bates
    Aug 7, 2006
  4. HemantS
    Replies:
    0
    Views:
    788
    HemantS
    Jun 12, 2007
  5. bond
    Replies:
    1
    Views:
    3,207
    Mark Jeffcoat
    Jun 28, 2007
Loading...

Share This Page