|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.velocity.VelocityView
View using the Velocity template engine. Based on code in the VelocityServlet shipped with Velocity.
Exposes the following JavaBean properties:
Depends on a VelocityConfig object such as VelocityConfigurer being accessible in the current web application context, with any bean name. Alternatively, you can set the VelocityEngine object as bean property.
VelocityConfig
,
VelocityConfigurer
,
AbstractUrlBasedView.setUrl(java.lang.String)
,
setEncoding(java.lang.String)
,
setVelocityEngine(org.apache.velocity.app.VelocityEngine)
,
VelocityConfig
,
VelocityConfigurer
Field Summary | |
static int |
DEFAULT_WRITER_POOL_SIZE
|
static int |
OUTPUT_BUFFER_SIZE
|
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport |
logger |
Constructor Summary | |
VelocityView()
|
Method Summary | |
protected void |
exposeHelpers(org.apache.velocity.context.Context velocityContext,
javax.servlet.http.HttpServletRequest request)
Expose helpers unique to each rendering operation. |
protected java.lang.String |
getEncoding()
Return the encoding for the Velocity template. |
protected org.apache.velocity.Template |
getTemplate()
Retrieve the Velocity template. |
protected org.apache.velocity.app.VelocityEngine |
getVelocityEngine()
Return the VelocityEngine used by this view. |
protected void |
initApplicationContext()
Invoked on startup. |
protected void |
mergeTemplate(org.apache.velocity.Template template,
org.apache.velocity.context.Context context,
javax.servlet.http.HttpServletResponse response)
Merge the template with the context. |
protected void |
renderMergedOutputModel(java.util.Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Subclasses must implement this method to render the view. |
void |
setCacheTemplate(boolean cacheTemplate)
Set whether the Velocity template should be cached. |
void |
setDateToolAttribute(java.lang.String dateToolAttribute)
Set the name of the DateTool helper object to expose in the Velocity context of this view, or null if not needed. |
void |
setEncoding(java.lang.String encoding)
Set the encoding of the Velocity template file. |
void |
setNumberToolAttribute(java.lang.String numberToolAttribute)
Set the name of the NumberTool helper object to expose in the Velocity context of this view, or null if not needed. |
void |
setVelocityEngine(org.apache.velocity.app.VelocityEngine velocityEngine)
Set the VelocityEngine to be used by this view. |
void |
setVelocityFormatterAttribute(java.lang.String velocityFormatterAttribute)
Set the name of the VelocityFormatter helper object to expose in the Velocity context of this view, or null if not needed. |
Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView |
getUrl, setUrl |
Methods inherited from class org.springframework.web.servlet.view.AbstractView |
addStaticAttribute, getBeanName, getContentType, getStaticAttributes, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute |
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport |
getServletContext, getTempDir, getWebApplicationContext, requiredContextClass |
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport |
getApplicationContext, getMessageSourceAccessor, setApplicationContext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int DEFAULT_WRITER_POOL_SIZE
public static final int OUTPUT_BUFFER_SIZE
Constructor Detail |
public VelocityView()
Method Detail |
public void setEncoding(java.lang.String encoding)
Specify the encoding in the VelocityEngine rather than per template if all your templates share a common encoding.
protected java.lang.String getEncoding()
public void setVelocityFormatterAttribute(java.lang.String velocityFormatterAttribute)
VelocityFormatter
public void setDateToolAttribute(java.lang.String dateToolAttribute)
DateTool
public void setNumberToolAttribute(java.lang.String numberToolAttribute)
NumberTool
public void setCacheTemplate(boolean cacheTemplate)
Note that this is a minor optimization only, as Velocity itself caches templates in a modification-aware fashion.
public void setVelocityEngine(org.apache.velocity.app.VelocityEngine velocityEngine)
VelocityConfig
protected org.apache.velocity.app.VelocityEngine getVelocityEngine()
protected void initApplicationContext() throws BeansException
initApplicationContext
in class AbstractUrlBasedView
BeansException
protected void renderMergedOutputModel(java.util.Map model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
AbstractView
The first take will be preparing the request: This may include setting the model elements as request attributes, e.g. in the case of a JSP view.
renderMergedOutputModel
in class AbstractView
model
- combined output Map, with dynamic values taking precedence
over static attributesrequest
- current HTTP requestresponse
- current HTTP response
java.lang.Exception
- if rendering failedprotected org.apache.velocity.Template getTemplate() throws java.lang.Exception
java.lang.Exception
- if thrown by Velocityprotected void exposeHelpers(org.apache.velocity.context.Context velocityContext, javax.servlet.http.HttpServletRequest request) throws java.lang.Exception
Called by renderMergedOutputModel. The default implementations is empty. This method can be overridden to add custom helpers to the Velocity context.
velocityContext
- Velocity context that will be passed to the template at merge timerequest
- current HTTP request
java.lang.Exception
- if there's a fatal error while we're adding information to the contextrenderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
protected void mergeTemplate(org.apache.velocity.Template template, org.apache.velocity.context.Context context, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
template
- the template to mergecontext
- the Velocity contextresponse
- servlet response (use this to get the OutputStream or Writer)
java.lang.Exception
Template.merge(org.apache.velocity.context.Context, java.io.Writer)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |