Class VelocityManager

java.lang.Object
org.apache.struts2.views.velocity.VelocityManager

public class VelocityManager extends Object
Manages the environment for Velocity result types
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    protected org.apache.velocity.tools.ToolManager
    A reference to the toolbox manager.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.velocity.context.Context
    buildContext(com.opensymphony.xwork2.util.ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res)
     
    protected org.apache.velocity.context.Context
     
    org.apache.velocity.context.Context
    createContext(com.opensymphony.xwork2.util.ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res)
    This method is responsible for creating the standard VelocityContext used by all Struts Velocity views.
    org.apache.velocity.tools.ToolManager
     
    org.apache.velocity.app.VelocityEngine
     
     
    void
    init(jakarta.servlet.ServletContext context)
    initializes the VelocityManager.
    protected void
    initToolbox(jakarta.servlet.ServletContext servletContext)
    Initializes the ServletToolboxManager for this servlet's toolbox (if any).
    loadConfiguration(jakarta.servlet.ServletContext context)
    load optional velocity properties using the following loading strategy relative to the servlet context path relative to the WEB-INF directory on the classpath
    protected org.apache.velocity.app.VelocityEngine
    newVelocityEngine(jakarta.servlet.ServletContext context)
    Instantiates a new VelocityEngine.
    protected List<org.apache.velocity.VelocityContext>
    prepareChainedContexts(jakarta.servlet.http.HttpServletRequest servletRequest, jakarta.servlet.http.HttpServletResponse servletResponse, Map<String,Object> extraContext)
    constructs contexts for chaining on this request.
    void
    allow users to specify via the struts.properties file a set of additional VelocityContexts to chain to the the StrutsVelocityContext.
    void
    setContainer(com.opensymphony.xwork2.inject.Container container)
     
    void
     
    void
    setObjectFactory(com.opensymphony.xwork2.ObjectFactory fac)
     
    void
    setToolBoxLocation(String toolboxLocation)
     
    void
    setVelocityProperties(Properties velocityProperties)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • KEY_VELOCITY_STRUTS_CONTEXT

      public static final String KEY_VELOCITY_STRUTS_CONTEXT
      See Also:
    • toolboxManager

      protected org.apache.velocity.tools.ToolManager toolboxManager
      A reference to the toolbox manager.
  • Constructor Details

    • VelocityManager

      public VelocityManager()
  • Method Details

    • setObjectFactory

      public void setObjectFactory(com.opensymphony.xwork2.ObjectFactory fac)
    • setContainer

      public void setContainer(com.opensymphony.xwork2.inject.Container container)
    • getVelocityEngine

      public org.apache.velocity.app.VelocityEngine getVelocityEngine()
      Returns:
      a reference to the VelocityEngine used by all Struts Velocity results except directly accessed *.vm pages (unless otherwise configured)
    • createContext

      public org.apache.velocity.context.Context createContext(com.opensymphony.xwork2.util.ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res)
      This method is responsible for creating the standard VelocityContext used by all Struts Velocity views.
      Parameters:
      stack - the current ValueStack
      req - the current HttpServletRequest
      res - the current HttpServletResponse
      Returns:
      a new StrutsVelocityContext
    • buildContext

      protected org.apache.velocity.context.Context buildContext(com.opensymphony.xwork2.util.ValueStack stack, jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res)
    • buildToolContext

      protected org.apache.velocity.context.Context buildToolContext()
    • prepareChainedContexts

      protected List<org.apache.velocity.VelocityContext> prepareChainedContexts(jakarta.servlet.http.HttpServletRequest servletRequest, jakarta.servlet.http.HttpServletResponse servletResponse, Map<String,Object> extraContext)
      constructs contexts for chaining on this request. This method does not perform any initialization of the contexts. All that must be done in the context itself.
      Parameters:
      servletRequest - the servlet request object
      servletResponse - the servlet response object
      extraContext - map with extra context
      Returns:
      a List of contexts to chain or an empty list
    • init

      public void init(jakarta.servlet.ServletContext context)
      initializes the VelocityManager. this should be called during the initialization process, say by ServletDispatcher. this may be called multiple times safely although calls beyond the first won't do anything
      Parameters:
      context - the current servlet context
    • loadConfiguration

      public Properties loadConfiguration(jakarta.servlet.ServletContext context)
      load optional velocity properties using the following loading strategy
      • relative to the servlet context path
      • relative to the WEB-INF directory
      • on the classpath
      Parameters:
      context - the current ServletContext. may not be null
      Returns:
      the optional properties if struts.velocity.configfile was specified, an empty Properties file otherwise
    • setCustomConfigFile

      public void setCustomConfigFile(String val)
    • setToolBoxLocation

      public void setToolBoxLocation(String toolboxLocation)
    • getToolboxManager

      public org.apache.velocity.tools.ToolManager getToolboxManager()
    • setChainedContexts

      public void setChainedContexts(String contexts)
      allow users to specify via the struts.properties file a set of additional VelocityContexts to chain to the the StrutsVelocityContext. The intent is to allow these contexts to store helper objects that the ui developer may want access to. Examples of reasonable VelocityContexts would be an IoCVelocityContext, a SpringReferenceVelocityContext, and a ToolboxVelocityContext
      Parameters:
      contexts - comma separated velocity context's
    • initToolbox

      protected void initToolbox(jakarta.servlet.ServletContext servletContext)
      Initializes the ServletToolboxManager for this servlet's toolbox (if any).
    • newVelocityEngine

      protected org.apache.velocity.app.VelocityEngine newVelocityEngine(jakarta.servlet.ServletContext context)

      Instantiates a new VelocityEngine.

      The following is the default Velocity configuration

        resource.loader = file, class
        file.resource.loader.path = real path of webapp
        class.resource.loader.description = Velocity Classpath Resource Loader
        class.resource.loader.class = org.apache.struts2.views.velocity.StrutsResourceLoader
       

      this default configuration can be overridden by specifying a struts.velocity.configfile property in the struts.properties file. the specified config file will be searched for in the following order:

      • relative to the servlet context path
      • relative to the WEB-INF directory
      • on the classpath
      Parameters:
      context - the current ServletContext. may not be null
      Returns:
      the new velocity engine
    • getVelocityProperties

      public Properties getVelocityProperties()
      Returns:
      the velocityProperties
    • setVelocityProperties

      public void setVelocityProperties(Properties velocityProperties)
      Parameters:
      velocityProperties - the velocityProperties to set