Class ViewToolContext

  • All Implemented Interfaces:
    org.apache.velocity.context.Context, ViewContext
    Direct Known Subclasses:
    ChainedContext, JspToolContext

    public class ViewToolContext
    extends ToolContext
    implements 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:

    1. tool in a request scoped toolbox
    2. tool in a session scoped toolbox
    3. tool in a application scoped toolbox
    4. request, response, session, or servlet context
    5. object in the local map of objects (traditional use)
    6. 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
    • Constructor Detail

      • ViewToolContext

        public ViewToolContext​(org.apache.velocity.app.VelocityEngine velocity,
                               javax.servlet.http.HttpServletRequest request,
                               javax.servlet.http.HttpServletResponse response,
                               javax.servlet.ServletContext application)
    • Method Detail

      • setToolboxKey

        protected void setToolboxKey​(String key)
      • putToolProperties

        protected void putToolProperties()
      • addToolboxesUnderKey

        protected void addToolboxesUnderKey​(String toolboxKey)
      • getServletApi

        protected Object getServletApi​(String key)
        Returns the current matching servlet request, response, session, or servlet context instance, or null if the key matches none of those keys.
      • getAttribute

        public Object 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.

        Specified by:
        getAttribute in interface ViewContext
        Since:
        VelocityTools 1.1
      • getRequest

        public javax.servlet.http.HttpServletRequest getRequest()

        Returns the current servlet request.

        Specified by:
        getRequest in interface ViewContext
      • getResponse

        public javax.servlet.http.HttpServletResponse getResponse()

        Returns the current servlet response.

        Specified by:
        getResponse in interface ViewContext
      • getSession

        public javax.servlet.http.HttpSession getSession()

        Returns the current session, if any.

      • getServletContext

        public javax.servlet.ServletContext getServletContext()

        Returns the servlet context.

        Specified by:
        getServletContext in interface ViewContext
      • getVelocityContext

        public org.apache.velocity.context.Context getVelocityContext()

        Returns a reference to the Velocity context (this object).

        Specified by:
        getVelocityContext in interface ViewContext
      • getVelocityEngine

        public org.apache.velocity.app.VelocityEngine getVelocityEngine()

        Returns a reference to the VelocityEngine.

        Specified by:
        getVelocityEngine in interface ViewContext
      • containsKey

        public boolean containsKey​(String key)
        Indicates whether the specified key is in the context.
        Parameters:
        key - The key to look for.
        Returns:
        Whether the key is in the context.