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.portlet.result
Class PortletVelocityResult

    java.lang.Object
      org.apache.struts2.dispatcher.StrutsResultSupport
          org.apache.struts2.portlet.result.PortletVelocityResult

All Implemented Interfaces:
  Result, Serializable, StrutsStatics

    public class PortletVelocityResult

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:

     <!-- START SNIPPET: example -->
      <result name="success" type="velocity">
        <param name="location">foo.vm</param>
      </result>
      <!-- END SNIPPET: example -->

See Also:
  Serialized Form

Field Summary
`private String` | `defaultEncoding`
`private static Log` | `log`
`private static long` | `serialVersionUID`
`private VelocityManager` | `velocityManager`

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_PORTLET_CONTEXT`

Constructor Summary
`PortletVelocityResult()`
`PortletVelocityResult(String location)`

Method Summary
`protected org.apache.velocity.context.Context` | `createContext(VelocityManager velocityManager, ValueStack 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).
`private void` | `executeActionResult(String location, ActionInvocation invocation)` Executes the result
`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(ValueStack 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.
`private void` | `prepareServletActionContext()` Prepares the servlet action context for this request
`void` | `setDefaultEncoding(String encoding)`
`void` | `setVelocityManager(VelocityManager mgr)`

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

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

Field Detail

### serialVersionUID

    private static final long serialVersionUID

See Also:
  Constant Field Values

### log

    private static final Log log

### defaultEncoding

    private String defaultEncoding

### velocityManager

    private VelocityManager velocityManager

Constructor Detail

### PortletVelocityResult

    public PortletVelocityResult()

### PortletVelocityResult

    public PortletVelocityResult(String location)

Method Detail

### setVelocityManager

    public void setVelocityManager(VelocityManager mgr)

### setDefaultEncoding

    public void setDefaultEncoding(String encoding)

### doExecute

    public void doExecute(String location,
                          ActionInvocation invocation)
                   throws Exception

  Description copied from class: `StrutsResultSupport`
  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 `StrutsResultSupport`
  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.

### executeActionResult

    private void executeActionResult(String location,
                                     ActionInvocation invocation)

  Executes the result

  Parameters:
    `location` - The location string
    `invocation` - The action invocation

### 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 template
    `invocation` - 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 'struts.i18n.encoding' property)

### getTemplate

    protected org.apache.velocity.Template getTemplate(ValueStack 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 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:
    `Exception` - when the requested template could not be found

### createContext

    protected org.apache.velocity.context.Context createContext(VelocityManager velocityManager,
                                                                ValueStack 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 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.

### prepareServletActionContext

    private void prepareServletActionContext()
                                      throws javax.portlet.PortletException,
                                             IOException

  Prepares the servlet action context for this request

  Throws:
    `javax.portlet.PortletException`
    `IOException`

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-2007 Apache Software Foundation. All Rights Reserved.