Package org.apache.velocity.tools.view
Class VelocityViewFilter
- java.lang.Object
-
- org.apache.velocity.tools.view.VelocityViewFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
public class VelocityViewFilter extends java.lang.Object implements javax.servlet.FilterA filter to ensure VelocityTools
Toolboxes are available in the request/session/application scopes. This can simplify the process of integration with other frameworks.VelocityViewFilter supports the following configuration parameters in web.xml:
- org.apache.velocity.tools
- Path and name of the toolbox configuration file. The path must be relative to the web application root directory. If this parameter is not found, the servlet will check for a toolbox file at '/WEB-INF/tools.xml'.
- org.apache.velocity.properties
- Path and name of the Velocity configuration file. The path must be relative to the web application root directory. If this parameter is not present, Velocity will check for a properties file at '/WEB-INF/velocity.properties'. If no file is found there, then Velocity is initialized with the settings in the classpath at 'org.apache.velocity.tools.view.velocity.properties'.
- org.apache.velocity.tools.loadDefaults
- By default, this is
false. If set totrue, then the default toolbox configuration will be added prior to your (if any) custom configuration. - org.apache.velocity.tools.cleanConfiguration
- By default, this is
false. If set totrue, then then the final toolbox configuration (the combination of any custom one(s) provided by yourself and/or the default configuration(s)) will have all invalid tools, properties, and/or data removed prior to configuring the ToolboxFactory for this servlet by aConfigurationCleaner - org.apache.velocity.tools.shared.config
- By default, this is
true. If set tofalse, then theVelocityViewused by this filter will not be shared with other VelocityViewFilters,VelocityViewServlets or org.apache.velocity.tools.view.jsp.VelocityViewTag's in the application. - org.apache.velocity.tools.context.key
- If you set a value for this property, this filter will create
and prepare a
ViewToolContextfor each request, and then place it into the request attributes under the key you set. This is primarily for those who use this filter WITHOUT sharing a config (i.e. non-shared VelocityView), letting them retrieve the context as the request attribute. - org.apache.velocity.tools.view.class
- Allows to specify a custom class (inheriting from VelocityView) as the View class.
- Version:
- $Id: VelocityViewFilter.java 611011 2008-01-11 01:32:59Z nbubna $
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONTEXT_KEY
-
Constructor Summary
Constructors Constructor Description VelocityViewFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.apache.velocity.context.ContextcreateContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)voiddestroy()voiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)Simply prepares the request (and/or session) toolbox(es) for other filters, servlets or whatnot to use.protected java.lang.StringfindInitParameter(java.lang.String key)Looks up an init parameter with the specified key in either the FilterConfig or, failing that, in the ServletContext.protected java.lang.StringgetContextKey()protected javax.servlet.FilterConfiggetFilterConfig()protected VelocityViewgetVelocityView()voidinit(javax.servlet.FilterConfig config)Initializes VelocityView used to process requests.
-
-
-
Field Detail
-
CONTEXT_KEY
public static final java.lang.String CONTEXT_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletExceptionInitializes VelocityView used to process requests. Called by the servlet container on loading.
- Specified by:
initin interfacejavax.servlet.Filter- Parameters:
config- filter configuation- Throws:
javax.servlet.ServletException
-
getFilterConfig
protected javax.servlet.FilterConfig getFilterConfig()
-
getVelocityView
protected VelocityView getVelocityView()
-
getContextKey
protected java.lang.String getContextKey()
-
findInitParameter
protected java.lang.String findInitParameter(java.lang.String key)
Looks up an init parameter with the specified key in either the FilterConfig or, failing that, in the ServletContext.- Parameters:
key- init parameter key- Returns:
- found value or null
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletExceptionSimply prepares the request (and/or session) toolbox(es) for other filters, servlets or whatnot to use. If a context key has been provided in the init-params of the filter or webapp, then this will also create aViewToolContextand put it in the request attributes under that key.- Specified by:
doFilterin interfacejavax.servlet.Filter- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
createContext
protected org.apache.velocity.context.Context createContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
-
destroy
public void destroy()
- Specified by:
destroyin interfacejavax.servlet.Filter
-
-