com.opensymphony.webwork.portlet.result
Class PortletVelocityResult
java.lang.Object
com.opensymphony.webwork.dispatcher.WebWorkResultSupport
com.opensymphony.webwork.portlet.result.PortletVelocityResult
- All Implemented Interfaces:
- WebWorkStatics, Result, Serializable
public class PortletVelocityResult - extends WebWorkResultSupport
Using the Servlet container's JspFactory, this result mocks a JSP
execution environment and then displays a Velocity template that will be
streamed directly to the servlet output.
This result type takes the
following parameters:
- location (default) - the location of the template to process.
- parse - true by default. If set to false, the location param
will not be parsed for Ognl expressions.
This result follows the same rules from WebWorkResultSupport.
Example:
<!-- START SNIPPET: example -->
<result name="success" type="velocity">
<param name="location">foo.vm</param>
</result>
<!-- END SNIPPET: example -->
- Author:
- Matt Ho
- See Also:
- Serialized Form
|
Method Summary |
protected org.apache.velocity.context.Context |
createContext(VelocityManager velocityManager,
OgnlValueStack stack,
HttpServletRequest request,
HttpServletResponse response,
String location)
Creates the VelocityContext that we'll use to render this page. |
void |
doExecute(String location,
ActionInvocation invocation)
Executes the result given a final location (jsp page, action, etc) and the action invocation
(the state in which the action was executed). |
void |
executeRenderResult(String finalLocation,
ActionInvocation invocation)
Creates a Velocity context from the action, loads a Velocity template and
executes the template. |
protected String |
getContentType(String templateLocation)
Retrieve the content type for this template. |
protected String |
getEncoding(String templateLocation)
Retrieve the encoding for this template. |
protected org.apache.velocity.Template |
getTemplate(OgnlValueStack stack,
org.apache.velocity.app.VelocityEngine velocity,
ActionInvocation invocation,
String location,
String encoding)
Given a value stack, a Velocity engine, and an action invocation, this
method returns the appropriate Velocity template to render. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PortletVelocityResult
public PortletVelocityResult()
doExecute
public void doExecute(String location,
ActionInvocation invocation)
throws Exception
- Description copied from class:
WebWorkResultSupport
- Executes the result given a final location (jsp page, action, etc) and the action invocation
(the state in which the action was executed). Subclasses must implement this class to handle
custom logic for result handling.
- Specified by:
doExecute in class WebWorkResultSupport
- Parameters:
location - the location (jsp page, action, etc) to go to.invocation - the execution state of the action.
- Throws:
Exception - if an error occurs while executing the result.
executeRenderResult
public void executeRenderResult(String finalLocation,
ActionInvocation invocation)
throws Exception
- Creates a Velocity context from the action, loads a Velocity template and
executes the template. Output is written to the servlet output stream.
- Parameters:
finalLocation - the location of the Velocity templateinvocation - an encapsulation of the action execution state.
- Throws:
Exception - if an error occurs when creating the Velocity context,
loading or executing the template or writing output to the
servlet response stream.
getContentType
protected String getContentType(String templateLocation)
- Retrieve the content type for this template. People can override
this method if they want to provide specific content types for specific
templates (eg text/xml).
- Returns:
- The content type associated with this template (default
"text/html")
getEncoding
protected String getEncoding(String templateLocation)
- Retrieve the encoding for this template. People can override this
method if they want to provide specific encodings for specific templates.
- Returns:
- The encoding associated with this template (defaults to the value
of 'webwork.i18n.encoding' property)
getTemplate
protected org.apache.velocity.Template getTemplate(OgnlValueStack stack,
org.apache.velocity.app.VelocityEngine velocity,
ActionInvocation invocation,
String location,
String encoding)
throws Exception
- Given a value stack, a Velocity engine, and an action invocation, this
method returns the appropriate Velocity template to render.
- Parameters:
stack - the value stack to resolve the location again (when parse
equals true)velocity - the velocity engine to process the request againstinvocation - an encapsulation of the action execution state.location - the location of the templateencoding - the charset encoding of the template
- Returns:
- the template to render
- Throws:
Exception - when the requested template could not be found
createContext
protected org.apache.velocity.context.Context createContext(VelocityManager velocityManager,
OgnlValueStack stack,
HttpServletRequest request,
HttpServletResponse response,
String location)
- Creates the VelocityContext that we'll use to render this page.
- Parameters:
velocityManager - a reference to the velocityManager to usestack - the value stack to resolve the location against (when parse
equals true)location - the name of the template that is being used
- Returns:
- the a minted Velocity context.
|