velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nitesh Naveen" <nites...@sonata-software.com>
Subject RE: ResourceNotFoundException
Date Tue, 19 Apr 2005 09:37:22 GMT
Just to add... the bewlow would work assuming that you are calling
Velocity.init(p) somewhere in your code (where p is the properties you
have loaded using loadConfiguration method

-----Original Message-----
From: Nitesh Naveen [mailto:nitesh.n@sonata-software.com] 
Sent: Tuesday, April 19, 2005 3:03 PM
To: Velocity Users List
Subject: RE: ResourceNotFoundException

Try changing the getTemplate to

view  =   getTemplate("sample.vm");

you should be able to get it.

Nitesh

-----Original Message-----
From: PGibbonsX@aol.com [mailto:PGibbonsX@aol.com] 
Sent: Tuesday, April 19, 2005 2:35 PM
To: velocity-user@jakarta.apache.org
Subject: Re: ResourceNotFoundException

Hi thanks for your respsonse,
Its not liable to be a permissions error as i am running tomcat on my
local  
pc and have installed it myself.
 
I should state i am a total newbie to velocity and just installed it  
yesterday.
 
I've placed  velocity-1.4.jar & velocity-dep-1.4 under  WEB-INF/lib
within my 
tomcat instance.
 
my web.xml contains the following:
 
   <servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>pack1.SampleServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/SampleServlet</url-pattern>
</servlet-mapping>
 
and i am accessing the following url in my browser:
_http://localhost:8080/velocity/SampleServlet_ 
(http://localhost:8080/velocity/SampleServlet) 
 
The supporting Java Code pcak1.SampleServlet is:
 
package pack1;

import java.io.IOException;
import java.io.FileNotFoundException;
 
import java.util.Properties;
import java.util.Vector;
 
import javax.servlet.ServletConfig;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;
 
import org.apache.velocity.Template;
import  org.apache.velocity.context.Context;
import  org.apache.velocity.servlet.VelocityServlet;
import  org.apache.velocity.app.Velocity;
import  org.apache.velocity.exception.ResourceNotFoundException;
import  org.apache.velocity.exception.ParseErrorException;
 
import org.apache.log4j.*;
 
/**
* Sample of how to use the VelocityServlet.
* This  example shows how to add objects to the context and
* pass them to the  view.
*
* @author Dave Bryson
* @author <a  href="_mailto:geirm@optonline.net">Geir_ 
(mailto:geirm@optonline.net">Geir)   Magnusson Jr.</a>
* @version $Id: SampleServlet.java,v 1.5.8.1  2004/03/04 00:18:29 geirm
Exp $
*/
public class SampleServlet  extends VelocityServlet
{
 
    /**
*   Called by  the VelocityServlet
*   init().  We  want to set a set of properties
*   so  that views will be found in the webapp
*    root.  This makes this easier to work with as
*   an example, so a new user doesn't have to  worry
*   about config issues when first  figuring things
*    out
*/
static Logger logger =  Logger.getLogger("Test");
 
    protected Properties loadConfiguration(ServletConfig  config )
throws IOException,  FileNotFoundException
{
Properties p = new  Properties();
 
         /*
*  first, we set the  view path for the
*   FileResourceLoader to the root of  the
*  webapp.   This probably won't work  under
*  in a WAR under  WebLogic, but should
*   under tomcat :)
*/
 
        String path =  config.getServletContext().getRealPath("/");
 
        if (path ==  null)
{
logger.error(" SampleServlet.loadConfiguration() : unable to  "
+ "get the current webapp root.  Using '/'. Please fix.");
 
            path =  "/";
}
 
        p.setProperty(  Velocity.FILE_RESOURCE_LOADER_PATH,  path );
 
         /**
*  and the same for  the log file
*/
 
        p.setProperty( "runtime.log",  path + "velocity.log" );
 
        return p;
}
 

/**
*   <p>
*  main routine to handle a  request.  Called by
*  VelocityServlet,  your responsibility as programmer
*  is to  simply return a valid Template
*   </p>
*
*   @param ctx a Velocity Context object to be filled  with
*              data.  Will be used for rendering this
*              view
*  @return Template to be used for  request
*/
public Template  handleRequest( HttpServletRequest request,
HttpServletResponse  response, Context ctx )
{
/*
*  set up some data  to put into the context
*/
 
        String p1 =  "Bob";
String p2 = "Harold";
 
        Vector personList = new  Vector();
personList.addElement(  p1 );
personList.addElement( p2  );
 
         /*
*  Add the list to  the context.
*  This is  how it's passed to the view.
*/
 
        ctx.put("theList", personList  );
 
         /*
*  get the  view.  There are three  possible
*   exceptions.  Good to know what  happened.
*/
 
        Template view = null;
 
         try
{
view  =   
getTemplate("C:\\Tomcat\\jakarta-tomcat-5.5.7\\webapps\\velocity\\WEB-IN
F\\sample.vm");

}
catch( ParseErrorException pee  )
{
logger.error("SampleServlet : parse error for view " +  pee);
}
catch( ResourceNotFoundException  rnfe )
{
logger.error("SampleServlet : view not found " +  rnfe);
}
catch( Exception e  )
{
logger.error("Error " + e);
}
return  view;
}
}
 
 
any thoughts




---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Mime
View raw message