Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.dispatcher
Class VelocityResult

    java.lang.Object
      org.apache.struts2.dispatcher.StrutsResultSupport
          org.apache.struts2.dispatcher.VelocityResult

All Implemented Interfaces:
  Result, java.io.Serializable, StrutsStatics

    public class VelocityResult

extends StrutsResultSupport

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 `StrutsResultSupport`.

Example:

     <result name="success" type="velocity">
       <param name="location">foo.vm</param>
     </result>

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.apache.struts2.dispatcher.StrutsResultSupport
`DEFAULT_PARAM`

Fields inherited from interface org.apache.struts2.StrutsStatics
`HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT`

Constructor Summary
`VelocityResult()`
`VelocityResult(java.lang.String location)`

Method Summary
`protected org.apache.velocity.context.Context` | `createContext(VelocityManager velocityManager, ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String location)` Creates the VelocityContext that we'll use to render this page.
`void` | `doExecute(java.lang.String finalLocation, ActionInvocation invocation)` Creates a Velocity context from the action, loads a Velocity template and executes the template.
`protected java.lang.String` | `getContentType(java.lang.String templateLocation)` Retrieve the content type for this template.
`protected java.lang.String` | `getEncoding(java.lang.String templateLocation)` Retrieve the encoding for this template.
`protected org.apache.velocity.Template` | `getTemplate(ValueStack stack, org.apache.velocity.app.VelocityEngine velocity, ActionInvocation invocation, java.lang.String location, java.lang.String encoding)` Given a value stack, a Velocity engine, and an action invocation, this method returns the appropriate Velocity template to render.
`void` | `setDefaultEncoding(java.lang.String val)`
`void` | `setVelocityManager(VelocityManager mgr)`

Methods inherited from class org.apache.struts2.dispatcher.StrutsResultSupport
`conditionalParse, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### VelocityResult

    public VelocityResult()

### VelocityResult

    public VelocityResult(java.lang.String location)

Method Detail

### setDefaultEncoding

    public void setDefaultEncoding(java.lang.String val)

### setVelocityManager

    public void setVelocityManager(VelocityManager mgr)

### doExecute

    public void doExecute(java.lang.String finalLocation,
                          ActionInvocation invocation)
                   throws java.lang.Exception

  Creates a Velocity context from the action, loads a Velocity template and executes the template. Output is written to the servlet output stream.

  Specified by:
    `doExecute` in class `StrutsResultSupport`
  Parameters:
    `finalLocation` - the location of the Velocity template
    `invocation` - an encapsulation of the action execution state.
  Throws:
    `java.lang.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 java.lang.String getContentType(java.lang.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 java.lang.String getEncoding(java.lang.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 'struts.i18n.encoding' property)

### getTemplate

    protected org.apache.velocity.Template getTemplate(ValueStack stack,
                                                       org.apache.velocity.app.VelocityEngine velocity,
                                                       ActionInvocation invocation,
                                                       java.lang.String location,
                                                       java.lang.String encoding)
                                                throws java.lang.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 against
    `invocation` - an encapsulation of the action execution state.
    `location` - the location of the template
    `encoding` - the charset encoding of the template
  Returns:
    the template to render
  Throws:
    `java.lang.Exception` - when the requested template could not be found

### createContext

    protected org.apache.velocity.context.Context createContext(VelocityManager velocityManager,
                                                                ValueStack stack,
                                                                javax.servlet.http.HttpServletRequest request,
                                                                javax.servlet.http.HttpServletResponse response,
                                                                java.lang.String location)

  Creates the VelocityContext that we'll use to render this page.

  Parameters:
    `velocityManager` - a reference to the velocityManager to use
    `stack` - 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.