Class VelocityToolboxView
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.context.support.WebApplicationObjectSupport
- org.springframework.web.servlet.view.AbstractView
- org.springframework.web.servlet.view.AbstractUrlBasedView
- org.springframework.web.servlet.view.AbstractTemplateView
- org.springframework.web.servlet.view.velocity.VelocityView
- org.springframework.web.servlet.view.velocity.VelocityToolboxView
- All Implemented Interfaces:
Aware
,BeanNameAware
,InitializingBean
,ApplicationContextAware
,ServletContextAware
,View
- Direct Known Subclasses:
VelocityLayoutView
@Deprecated public class VelocityToolboxView extends VelocityView
Deprecated.as of Spring 4.3, in favor of FreeMarkerVelocityView
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 3.0, this class requires Velocity Tools 1.3 or higher.- Since:
- 1.1.3
- Author:
- Juergen Hoeller
- See Also:
setToolboxConfigLocation(java.lang.String)
,initTool(java.lang.Object, org.apache.velocity.context.Context)
,ViewContext
,ChainedContext
Field Summary
Fields inherited from class org.springframework.web.servlet.view.AbstractTemplateView
SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE
Fields inherited from class org.springframework.web.servlet.view.AbstractView
DEFAULT_CONTENT_TYPE
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.web.servlet.View
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
Constructor Summary
Constructors Constructor Description VelocityToolboxView()
Deprecated.
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected org.apache.velocity.context.Context
createVelocityContext(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response)
Deprecated.Overridden to create a ChainedContext, which is part of the view package of Velocity Tools, as special context.protected String
getToolboxConfigLocation()
Deprecated.Return the Velocity Toolbox config location, if any.protected void
initTool(Object tool, org.apache.velocity.context.Context velocityContext)
Deprecated.Overridden to check for the ViewContext interface which is part of the view package of Velocity Tools.void
setToolboxConfigLocation(String toolboxConfigLocation)
Deprecated.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
autodetectVelocityEngine, checkResource, createVelocityContext, doRender, exposeHelpers, exposeHelpers, exposeHelpers, exposeToolAttributes, getEncoding, getTemplate, getTemplate, getVelocityEngine, initApplicationContext, isCacheTemplate, mergeTemplate, renderMergedTemplateModel, setCacheTemplate, setDateToolAttribute, setEncoding, setNumberToolAttribute, setToolAttributes, setVelocityEngine
Methods inherited from class org.springframework.web.servlet.view.AbstractTemplateView
applyContentType, renderMergedOutputModel, setAllowRequestOverride, setAllowSessionOverride, setExposeRequestAttributes, setExposeSessionAttributes, setExposeSpringMacroHelpers
Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView
afterPropertiesSet, getUrl, isUrlRequired, setUrl, toString
Methods inherited from class org.springframework.web.servlet.view.AbstractView
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext
Constructor Detail
VelocityToolboxView
public VelocityToolboxView()
Deprecated.
Method Detail
setToolboxConfigLocation
public void setToolboxConfigLocation(String toolboxConfigLocation)
Deprecated.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 specified location string needs to refer to a ServletContext resource, as expected by ServletToolboxManager which is part of the view package of Velocity Tools.
- See Also:
ServletToolboxManager.getInstance(javax.servlet.ServletContext, java.lang.String)
getToolboxConfigLocation
protected String getToolboxConfigLocation()
Deprecated.Return the Velocity Toolbox config location, if any.
createVelocityContext
protected org.apache.velocity.context.Context createVelocityContext(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception
Deprecated.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.- Overrides:
createVelocityContext
in classVelocityView
- Parameters:
model
- the model Map, containing the model attributes to be exposed to the viewrequest
- current HTTP requestresponse
- current HTTP response- Returns:
- the Velocity Context
- Throws:
Exception
- if there's a fatal error while creating the context- See Also:
initTool(java.lang.Object, org.apache.velocity.context.Context)
initTool
protected void initTool(Object tool, org.apache.velocity.context.Context velocityContext) throws Exception
Deprecated.Overridden to check for the ViewContext interface which is part of the view package of Velocity Tools. This requires a special Velocity context, like ChainedContext as set up bycreateVelocityContext(java.util.Map<java.lang.String, java.lang.Object>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
in this class.- Overrides:
initTool
in classVelocityView
- Parameters:
tool
- the tool instance to initializevelocityContext
- the Velocity context- Throws:
Exception
- if initializion of the tool failed- See Also:
VelocityView.createVelocityContext(java.util.Map<java.lang.String, java.lang.Object>, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
,ViewContext
,ChainedContext
,VelocityToolboxView