VelocityView subclass which adds support for Velocity Tools toolboxes
and Velocity Tools ViewTool callbacks / Velocity Tools 1.3 init methods.
Specify a "toolboxConfigLocation", for example "/WEB-INF/toolbox.xml",
to automatically load a Velocity Tools toolbox definition file and expose
all defined tools in the specified scopes. If no config location is
specified, no toolbox will be loaded and exposed.
This view will always create a special Velocity context, namely an
instance of the ChainedContext class which is part of the view package
of Velocity tools. This allows to use tools from the view package of
Velocity Tools, like LinkTool, which need to be initialized with a special
context that implements the ViewContext interface (i.e. a ChainedContext).
This view also checks tools that are specified as "toolAttributes":
If they implement the ViewTool interface, they will get initialized with
the Velocity context. This allows tools from the view package of Velocity
Tools, such as LinkTool, to be defined as
"toolAttributes" on a VelocityToolboxView,
instead of in a separate toolbox XML file.
This is a separate class mainly to avoid a required dependency on
the view package of Velocity Tools in VelocityView itself.
As of Spring 2.0, this class requires Velocity Tools 1.2 or higher.
initTool(Object tool,
org.apache.velocity.context.Context velocityContext)
Overridden to check for the ViewContext interface which is part of the
view package of Velocity Tools.
void
setToolboxConfigLocation(String toolboxConfigLocation)
Set a Velocity Toolbox config location, for example "/WEB-INF/toolbox.xml",
to automatically load a Velocity Tools toolbox definition file and expose
all defined tools in the specified scopes.
Methods inherited from class org.springframework.web.servlet.view.velocity.VelocityView
public void setToolboxConfigLocation(String toolboxConfigLocation)
Set a Velocity Toolbox config location, for example "/WEB-INF/toolbox.xml",
to automatically load a Velocity Tools toolbox definition file and expose
all defined tools in the specified scopes. If no config location is
specified, no toolbox will be loaded and exposed.
The specfied location string needs to refer to a ServletContext
resource, as expected by ServletToolboxManager which is part of
the view package of Velocity Tools.
Overridden to create a ChainedContext, which is part of the view package
of Velocity Tools, as special context. ChainedContext is needed for
initialization of ViewTool instances.