|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.velocity.tools.ToolManager org.apache.velocity.tools.view.ViewToolManager org.apache.velocity.tools.view.VelocityView
public class VelocityView
The class provides the following features:
VelocityView supports the following configuration parameters in web.xml:
Field Summary | |
---|---|
static java.lang.String |
CLEAN_CONFIGURATION_KEY
Controls removal of tools or data with invalid configurations before initialization is finished. |
static java.lang.String |
CONTENT_TYPE_KEY
The HTTP content type context key. |
static java.lang.String |
DEFAULT_CONTENT_TYPE
The default content type for the response |
static java.lang.String |
DEFAULT_OUTPUT_ENCODING
Default encoding for the output stream |
static java.lang.String |
DEFAULT_PROPERTIES_PATH
Default Runtime properties. |
private java.lang.String |
defaultContentType
|
static java.lang.String |
DEPRECATED_TOOLS_KEY
Deprecated. |
static java.lang.String |
DEPRECATED_USER_TOOLS_PATH
Deprecated. |
static java.lang.String |
DEPRECATION_SUPPORT_MODE_KEY
Controls support for deprecated tools and configuration. |
private boolean |
deprecationSupportMode
|
static java.lang.String |
LOAD_DEFAULTS_KEY
Controls loading of available default tool configurations provided by VelocityTools. |
static java.lang.String |
PROPERTIES_KEY
This is the string that is looked for when getInitParameter is called ("org.apache.velocity.properties"). |
static java.lang.String |
SERVLET_CONTEXT_KEY
Key used to access the ServletContext in the Velocity application attributes. |
static java.lang.String |
TOOLS_KEY
Key used to access the toolbox configuration file path from the Servlet or webapp init parameters ("org.apache.velocity.tools") or to access a live FactoryConfiguration previously
placed in the ServletContext attributes. |
static java.lang.String |
USER_OVERWRITE_KEY
Controls whether or not templates can overwrite tool and servlet API variables in the local context. |
static java.lang.String |
USER_PROPERTIES_PATH
Default velocity properties file path. |
static java.lang.String |
USER_TOOLS_PATH
Default toolbox configuration file path. |
private static org.apache.velocity.util.SimplePool |
writerPool
|
Fields inherited from class org.apache.velocity.tools.view.ViewToolManager |
---|
CREATE_SESSION_PROPERTY, DEFAULT_TOOLBOX_KEY, PUBLISH_TOOLBOXES_PROPERTY, servletContext |
Fields inherited from class org.apache.velocity.tools.ToolManager |
---|
factory, velocity |
Constructor Summary | |
---|---|
VelocityView(javax.servlet.FilterConfig config)
|
|
VelocityView(JeeConfig config)
|
|
VelocityView(javax.servlet.ServletConfig config)
|
|
VelocityView(javax.servlet.ServletContext context)
|
Method Summary | |
---|---|
protected void |
configure(JeeConfig config,
ToolboxFactory factory)
Here's the configuration lookup/loading order: If deprecationSupportMode is true: Config file optionally specified by org.apache.velocity.toolbox init-param (servlet or servletContext)
If none, config file optionally at /WEB-INF/toolbox.xml (deprecated conventional location)
If no old toolbox or loadDefaults is true, ConfigurationUtils.getDefaultTools()
ConfigurationUtils.getAutoLoaded() (false)
Config file optionally specified by servletContext org.apache.velocity.tools init-param
Config file optionally at /WEB-INF/tools.xml (new conventional location)
Config file optionally specified by servlet org.apache.velocity.tools init-param
Remember that as these configurations are added on top of each other,
the newer values will always override the older ones. |
protected void |
configure(JeeConfig config,
org.apache.velocity.app.VelocityEngine velocity)
|
ViewToolContext |
createContext(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Creates and returns an initialized Velocity context. |
protected FactoryConfiguration |
getConfiguration(java.lang.String path)
|
protected FactoryConfiguration |
getConfiguration(java.lang.String path,
boolean required)
|
java.lang.String |
getDefaultContentType()
Returns the configured default Content-Type. |
protected FactoryConfiguration |
getDeprecatedConfig(JeeConfig config)
Deprecated. |
protected java.io.InputStream |
getInputStream(java.lang.String path,
boolean required)
|
protected org.apache.commons.collections.ExtendedProperties |
getProperties(java.lang.String path)
|
protected org.apache.commons.collections.ExtendedProperties |
getProperties(java.lang.String path,
boolean required)
|
protected java.lang.String |
getProperty(java.lang.String key,
java.lang.String alternate)
Simplifies process of getting a property from VelocityEngine, because the VelocityEngine interface sucks compared to the singleton's. |
org.apache.velocity.Template |
getTemplate(javax.servlet.http.HttpServletRequest request)
Gets the requested template. |
org.apache.velocity.Template |
getTemplate(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
org.apache.velocity.Template |
getTemplate(java.lang.String name)
Retrieves the requested template. |
org.apache.velocity.Template |
getTemplate(java.lang.String name,
java.lang.String encoding)
Retrieves the requested template with the specified character encoding. |
protected void |
init(JeeConfig config)
Initializes ToolboxFactory, VelocityEngine, and sets default encoding for processing requests. |
protected void |
init(JeeConfig config,
org.apache.velocity.app.VelocityEngine velocity)
Initializes the Velocity runtime, first calling loadConfiguration(JeeConfig) to get a org.apache.commons.collections.ExtendedProperties of configuration information and then calling velocityEngine.init(). |
void |
merge(org.apache.velocity.Template template,
org.apache.velocity.context.Context context,
java.io.Writer writer)
Merges the template with the context. |
protected void |
performMerge(org.apache.velocity.Template template,
org.apache.velocity.context.Context context,
java.io.Writer writer)
This is here so developers may override it and gain access to the Writer which the template will be merged into. |
org.apache.velocity.context.Context |
render(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
org.apache.velocity.context.Context |
render(javax.servlet.http.HttpServletRequest request,
java.io.Writer out)
|
private boolean |
setConfig(FactoryConfiguration factory,
java.lang.String path,
boolean require)
|
void |
setDefaultContentType(java.lang.String type)
Sets the configured default Content-Type. |
protected void |
setDeprecationSupportMode(boolean support)
Deprecated. |
protected void |
setEncoding(JeeConfig config)
|
private boolean |
setProps(org.apache.velocity.app.VelocityEngine velocity,
java.lang.String path,
boolean require)
|
void |
setVelocityEngine(org.apache.velocity.app.VelocityEngine engine)
Overrides super class to ensure engine is not set to null. |
Methods inherited from class org.apache.velocity.tools.view.ViewToolManager |
---|
addToolboxes, autoConfigure, configure, createContext, findConfig, getCreateSession, getPublishToolboxes, getSessionToolbox, getToolboxKey, hasSessionTools, prepareContext, publishToolboxes, publishToolboxes, setCreateSession, setPublishToolboxes, setToolboxKey, unpublishApplicationTools, updateGlobalProperties |
Methods inherited from class org.apache.velocity.tools.ToolManager |
---|
configure, createContext, createToolbox, debug, getApplicationToolbox, getLog, getRequestToolbox, getToolboxFactory, getUserCanOverwriteTools, getVelocityEngine, hasApplicationTools, hasRequestTools, hasTools, prepareContext, setToolboxFactory, setUserCanOverwriteTools |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CONTENT_TYPE_KEY
public static final java.lang.String SERVLET_CONTEXT_KEY
public static final java.lang.String DEFAULT_CONTENT_TYPE
public static final java.lang.String DEFAULT_OUTPUT_ENCODING
public static final java.lang.String TOOLS_KEY
FactoryConfiguration
previously
placed in the ServletContext attributes.
@Deprecated public static final java.lang.String DEPRECATED_TOOLS_KEY
public static final java.lang.String USER_TOOLS_PATH
@Deprecated public static final java.lang.String DEPRECATED_USER_TOOLS_PATH
public static final java.lang.String DEFAULT_PROPERTIES_PATH
public static final java.lang.String PROPERTIES_KEY
public static final java.lang.String USER_PROPERTIES_PATH
public static final java.lang.String LOAD_DEFAULTS_KEY
DEPRECATION_SUPPORT_MODE_KEY
has not been set to
false
and there is an old toolbox.xml
configuration
present, then the defaults will not be loaded unless you explicitly
set this property to true
in your init params. If there
is no toolbox.xml
and/or the deprecation support is turned off,
then the default tools will be loaded automatically unless you
explicitly set this property to false
in your init params.
public static final java.lang.String CLEAN_CONFIGURATION_KEY
true
to turn this feature on.
public static final java.lang.String USER_OVERWRITE_KEY
false
to prevent overwriting of any tool variables.
public static final java.lang.String DEPRECATION_SUPPORT_MODE_KEY
true
; set to false
to turn off
support for deprecated tools and configuration.
private static org.apache.velocity.util.SimplePool writerPool
private java.lang.String defaultContentType
private boolean deprecationSupportMode
Constructor Detail |
---|
public VelocityView(javax.servlet.ServletConfig config)
public VelocityView(javax.servlet.FilterConfig config)
public VelocityView(javax.servlet.ServletContext context)
public VelocityView(JeeConfig config)
Method Detail |
---|
@Deprecated protected final void setDeprecationSupportMode(boolean support)
public void setVelocityEngine(org.apache.velocity.app.VelocityEngine engine)
setVelocityEngine
in class ToolManager
public java.lang.String getDefaultContentType()
public void setDefaultContentType(java.lang.String type)
protected java.lang.String getProperty(java.lang.String key, java.lang.String alternate)
init(JeeConfig,VelocityEngine)
has already been called.
protected void init(JeeConfig config)
Initializes ToolboxFactory, VelocityEngine, and sets default encoding for processing requests.
NOTE: If no charset is specified in the default.contentType property (in your velocity.properties) and you have specified an output.encoding property, then that will be used as the charset for the default content-type of pages served by this servlet.
config
- servlet configuationprotected void init(JeeConfig config, org.apache.velocity.app.VelocityEngine velocity)
config
- servlet configuration parametersprotected void configure(JeeConfig config, org.apache.velocity.app.VelocityEngine velocity)
private boolean setProps(org.apache.velocity.app.VelocityEngine velocity, java.lang.String path, boolean require)
protected void configure(JeeConfig config, ToolboxFactory factory)
org.apache.velocity.toolbox
init-param (servlet or servletContext)/WEB-INF/toolbox.xml
(deprecated conventional location)ConfigurationUtils.getDefaultTools()
ConfigurationUtils.getAutoLoaded()
(false)org.apache.velocity.tools
init-param/WEB-INF/tools.xml
(new conventional location)org.apache.velocity.tools
init-paramorg.apache.velocity.tools.cleanConfiguration
init-param to true in
either your servlet or servletContext init-params.
@Deprecated protected FactoryConfiguration getDeprecatedConfig(JeeConfig config)
org.apache.velocity.toolbox
key.
If found, it tries to load the configuration there and will blow up
if there is no config file there.
If not found, it looks for a config file at /WEB-INF/toolbox.xml
(the deprecated default location) and tries to load it if found.
private boolean setConfig(FactoryConfiguration factory, java.lang.String path, boolean require)
protected java.io.InputStream getInputStream(java.lang.String path, boolean required)
protected org.apache.commons.collections.ExtendedProperties getProperties(java.lang.String path)
protected org.apache.commons.collections.ExtendedProperties getProperties(java.lang.String path, boolean required)
protected FactoryConfiguration getConfiguration(java.lang.String path)
protected FactoryConfiguration getConfiguration(java.lang.String path, boolean required)
protected void setEncoding(JeeConfig config)
public org.apache.velocity.context.Context render(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
request
- HttpServletRequest object containing client requestresponse
- HttpServletResponse object for the response
Context
prepared and used to perform the rendering
to allow proper cleanup afterward
java.io.IOException
public org.apache.velocity.context.Context render(javax.servlet.http.HttpServletRequest request, java.io.Writer out) throws java.io.IOException
java.io.IOException
public ViewToolContext createContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Creates and returns an initialized Velocity context.
A new context of classViewToolContext
is created and
initialized.
createContext
in class ViewToolManager
request
- servlet request from clientresponse
- servlet reponse to clientpublic org.apache.velocity.Template getTemplate(javax.servlet.http.HttpServletRequest request)
Gets the requested template.
request
- client request
public org.apache.velocity.Template getTemplate(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
public org.apache.velocity.Template getTemplate(java.lang.String name)
name
- The file name of the template to retrieve relative to the
template root.
org.apache.velocity.exception.ResourceNotFoundException
- if template not found
from any available source.
ParseErrorException
- if template cannot be parsed due
to syntax (or other) error.public org.apache.velocity.Template getTemplate(java.lang.String name, java.lang.String encoding)
name
- The file name of the template to retrieve relative to the
template root.encoding
- the character encoding of the template
org.apache.velocity.exception.ResourceNotFoundException
- if template not found
from any available source.
ParseErrorException
- if template cannot be parsed due
to syntax (or other) error.public void merge(org.apache.velocity.Template template, org.apache.velocity.context.Context context, java.io.Writer writer) throws java.io.IOException
template
- template being renderedcontext
- Context created by the createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
writer
- into which the content is rendered
java.io.IOException
protected void performMerge(org.apache.velocity.Template template, org.apache.velocity.context.Context context, java.io.Writer writer) throws java.io.IOException
template
- template object returned by the handleRequest() methodcontext
- Context created by the createContext(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
writer
- a VelocityWriter that the template is merged into
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |