Class ViewToolContext
- All Implemented Interfaces:
org.apache.velocity.context.Context, ViewContext
ToolContext implementation specific to the servlet environment.
It provides the following special features:
- puts the request, response, session, and servlet context objects into the Velocity context for direct access, and keeps them read-only
- supports a read-only toolbox of view tools
- auto-searches servlet request attributes, session attributes and servlet context attribues for objects
The get(String key) method implements the following search order
for objects:
- tool in a request scoped toolbox
- tool in a session scoped toolbox
- tool in a application scoped toolbox
- request, response, session, or servlet context
- object in the local map of objects (traditional use)
- request attributes, session attributes, servlet context attributes
The purpose of this class is to make it easy for web designer to work with Java servlet based web applications. They do not need to be concerned with the concepts of request, session or application attributes and the lifetime of objects in these scopes.
Note that the put() method always puts objects into the local map and does not allow tools or servlet classes to be overridden.
- Version:
- $Id: ViewContext.java 514727 2007-03-05 16:49:03Z nbubna $
- Author:
- Geir Magnusson Jr., Gabe Sidler, Nathan Bubna
-
Field Summary
Fields inherited from class org.apache.velocity.tools.ToolContext
CATCH_EXCEPTIONS_KEY, CONTEXT_KEY, ENGINE_KEY, LOCALE_KEY, LOG_KEY, PATH_KEY, TOOLKEY_KEYFields inherited from interface ViewContext
APPLICATION, DEFAULT_TOOLBOX_KEY, REQUEST, RESPONSE, SERVLET_CONTEXT_KEY, SESSION -
Constructor Summary
ConstructorsConstructorDescriptionViewToolContext(org.apache.velocity.app.VelocityEngine velocity, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext application) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddToolboxesUnderKey(String toolboxKey) booleancontainsKey(String key) Indicates whether the specified key is in the context.Looks up and returns the object with the specified key.getAttribute(String key) Searches for the named attribute in request, session (if valid), and application scope(s) in order and returns the value associated or null.javax.servlet.http.HttpServletRequestjavax.servlet.http.HttpServletResponseprotected ObjectgetServletApi(String key) Returns the current matching servlet request, response, session, or servlet context instance, or null if the key matches none of those keys.javax.servlet.ServletContextjavax.servlet.http.HttpSessionprotected List<org.apache.velocity.tools.Toolbox> protected ObjectgetToolVar(String key) Finds the automatically provided values, either configured tools or servlet API objects (request, response, etc).protected ObjectgetUserVar(String key) Finds "user" set values, either in the local context or in the scoped attributes if none is in the local context.org.apache.velocity.context.Contextorg.apache.velocity.app.VelocityEngineprotected voidprotected voidsetToolboxKey(String key) Methods inherited from class org.apache.velocity.tools.ToolContext
addToolbox, findTool, getKeys, getToolbox, getToolClassMap, getToolProperties, getUserCanOverwriteTools, internalGet, keySet, put, putAll, putToolProperties, putToolProperty, putVelocityEngine, remove, setUserCanOverwriteTools
-
Constructor Details
-
ViewToolContext
public ViewToolContext(org.apache.velocity.app.VelocityEngine velocity, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext application)
-
-
Method Details
-
setToolboxKey
-
putToolProperties
protected void putToolProperties() -
getToolboxes
- Overrides:
getToolboxesin classorg.apache.velocity.tools.ToolContext
-
addToolboxesUnderKey
-
get
Looks up and returns the object with the specified key.
See the class documentation for more details.
- Specified by:
getin interfaceorg.apache.velocity.context.Context- Overrides:
getin classorg.apache.velocity.tools.ToolContext- Parameters:
key- the key of the object requested- Returns:
- the requested object or null if not found
- See Also:
-
getUserVar
-
getToolVar
-
getServletApi
-
getAttribute
Searches for the named attribute in request, session (if valid), and application scope(s) in order and returns the value associated or null.
- Specified by:
getAttributein interfaceViewContext- Parameters:
key- attribute key- Returns:
- found value or null
- Since:
- VelocityTools 1.1
-
getRequest
public javax.servlet.http.HttpServletRequest getRequest()- Specified by:
getRequestin interfaceViewContext- Returns:
- the current servlet request.
-
getResponse
public javax.servlet.http.HttpServletResponse getResponse()- Specified by:
getResponsein interfaceViewContext- Returns:
- the current servlet response.
-
getSession
public javax.servlet.http.HttpSession getSession()- Returns:
- the current session, if any.
-
getServletContext
public javax.servlet.ServletContext getServletContext()- Specified by:
getServletContextin interfaceViewContext- Returns:
- the servlet context.
-
getVelocityContext
public org.apache.velocity.context.Context getVelocityContext()- Specified by:
getVelocityContextin interfaceViewContext- Returns:
- a reference to the Velocity context (this object).
-
getVelocityEngine
public org.apache.velocity.app.VelocityEngine getVelocityEngine()- Specified by:
getVelocityEnginein interfaceViewContext- Returns:
- a reference to the VelocityEngine.
-
containsKey
Indicates whether the specified key is in the context.- Specified by:
containsKeyin interfaceorg.apache.velocity.context.Context- Overrides:
containsKeyin classorg.apache.velocity.tools.ToolContext- Parameters:
key- The key to look for.- Returns:
- Whether the key is in the context.
-