Package org.apache.velocity.tools.view
Class WebappResourceLoader
- java.lang.Object
-
- org.apache.velocity.runtime.resource.loader.ResourceLoader
-
- org.apache.velocity.tools.view.WebappResourceLoader
-
public class WebappResourceLoader extends org.apache.velocity.runtime.resource.loader.ResourceLoader
Resource loader that uses the ServletContext of a webapp to load Velocity templates. (it's much easier to use with servlets than the standard FileResourceLoader, in particular the use of war files is transparent). The default search path is '/' (relative to the webapp root), but you can change this behaviour by specifying one or more paths by mean of as many webapp.resource.loader.path properties as needed in the velocity.properties file. All paths must be relative to the root of the webapp. To enable caching and cache refreshing the webapp.resource.loader.cache and webapp.resource.loader.modificationCheckInterval properties need to be set in the velocity.properties file ... auto-reloading of global macros requires the webapp.resource.loader.cache property to be set to 'false'.- Version:
- $Id$
- Author:
- Geir Magnusson Jr., Nathan Bubna, Claude Brisson
-
-
Field Summary
Fields Modifier and Type Field Description protected String[]
paths
The root paths for templates (relative to webapp's root).protected ServletContext
servletContext
protected HashMap
templatePaths
-
Constructor Summary
Constructors Constructor Description WebappResourceLoader()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getLastModified(org.apache.velocity.runtime.resource.Resource resource)
Checks to see when a resource was last modifiedReader
getResourceReader(String name, String encoding)
Get Reader so that the Runtime can build a template with it.void
init(org.apache.velocity.util.ExtProperties configuration)
This is abstract in the base class, so we need it.boolean
isSourceModified(org.apache.velocity.runtime.resource.Resource resource)
Checks to see if a resource has been deleted, moved or modified.
-
-
-
Field Detail
-
paths
protected String[] paths
The root paths for templates (relative to webapp's root).
-
templatePaths
protected HashMap templatePaths
-
servletContext
protected ServletContext servletContext
-
-
Method Detail
-
init
public void init(org.apache.velocity.util.ExtProperties configuration)
This is abstract in the base class, so we need it.
NOTE: this expects that the ServletContext has already been placed in the runtime's application attributes under its full class name (i.e. "javax.servlet.ServletContext").- Specified by:
init
in classorg.apache.velocity.runtime.resource.loader.ResourceLoader
- Parameters:
configuration
- theExtProperties
associated with this resource loader.
-
getResourceReader
public Reader getResourceReader(String name, String encoding) throws org.apache.velocity.exception.ResourceNotFoundException
Get Reader so that the Runtime can build a template with it.- Specified by:
getResourceReader
in classorg.apache.velocity.runtime.resource.loader.ResourceLoader
- Parameters:
name
- name of template to getencoding
- asked encoding- Returns:
- InputStream containing the template
- Throws:
org.apache.velocity.exception.ResourceNotFoundException
- if template not found in classpath.- Since:
- 2.0
-
isSourceModified
public boolean isSourceModified(org.apache.velocity.runtime.resource.Resource resource)
Checks to see if a resource has been deleted, moved or modified.- Specified by:
isSourceModified
in classorg.apache.velocity.runtime.resource.loader.ResourceLoader
- Parameters:
resource
- Resource The resource to check for modification- Returns:
- boolean True if the resource has been modified
-
getLastModified
public long getLastModified(org.apache.velocity.runtime.resource.Resource resource)
Checks to see when a resource was last modified- Specified by:
getLastModified
in classorg.apache.velocity.runtime.resource.loader.ResourceLoader
- Parameters:
resource
- Resource the resource to check- Returns:
- long The time when the resource was last modified or 0 if the file can't be read
-
-