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.views.freemarker
Class PortletFreemarkerResult

    java.lang.Object
      org.apache.struts2.dispatcher.StrutsResultSupport
          org.apache.struts2.views.freemarker.PortletFreemarkerResult

All Implemented Interfaces:
  Result, Serializable, StrutsStatics

    public class PortletFreemarkerResult

extends StrutsResultSupport

See Also:
  Serialized Form

Field Summary
`protected freemarker.template.Configuration` | `configuration`
`protected FreemarkerManager` | `freemarkerManager`
`protected ActionInvocation` | `invocation`
`protected String` | `location`
`private String` | `pContentType`
`private static long` | `serialVersionUID`
`protected freemarker.template.ObjectWrapper` | `wrapper`

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
`PortletFreemarkerResult()`
`PortletFreemarkerResult(String location)`

Method Summary
`protected freemarker.template.TemplateModel` | `createModel()` Build the instance of the ScopesHashModel, including JspTagLib support Objects added to the model are Application - servlet context attributes hash model JspTaglibs - jsp tag lib factory model Request - request attributes hash model Session - session attributes hash model request - the HttpServletRequst object for direct access response - the HttpServletResponse object for direct access stack - the OgnLValueStack instance for direct access ognl - the instance of the OgnlTool action - the action itself exception - optional : the JSP or Servlet exception as per the servlet spec (for JSP Exception pages) struts - instance of the StrutsUtil class
`protected Locale` | `deduceLocale()` Returns the locale used for the `Configuration.getTemplate(String, Locale)`call.
`void` | `doExecute(String location, ActionInvocation invocation)` Execute this result, using the specified template location.
`private void` | `executeActionResult(String location, ActionInvocation invocation)`
`private void` | `executeRenderResult(String location, ActionInvocation invocation)`
`protected freemarker.template.Configuration` | `getConfiguration()` This method is called from `doExecute(String, ActionInvocation)` to obtain the FreeMarker configuration object that this result will use for template loading.
`String` | `getContentType()` allow parameterization of the contentType the default being text/html
`protected freemarker.template.ObjectWrapper` | `getObjectWrapper()` This method is called from `doExecute(String, ActionInvocation)` to obtain the FreeMarker object wrapper object that this result will use for adapting objects into template models.
`protected Writer` | `getWriter()` The default writer writes directly to the response writer.
`protected void` | `postTemplateProcess(freemarker.template.Template template, freemarker.template.TemplateModel data)` the default implementation of postTemplateProcess applies the contentType parameter
`private void` | `prepareServletActionContext()`
`protected boolean` | `preTemplateProcess(freemarker.template.Template template, freemarker.template.TemplateModel model)` Called before the execution is passed to template.process().
`void` | `setContentType(String aContentType)`
`void` | `setFreemarkerManager(FreemarkerManager 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

### invocation

    protected ActionInvocation invocation

### configuration

    protected freemarker.template.Configuration configuration

### wrapper

    protected freemarker.template.ObjectWrapper wrapper

### freemarkerManager

    protected FreemarkerManager freemarkerManager

### location

    protected String location

### pContentType

    private String pContentType

Constructor Detail

### PortletFreemarkerResult

    public PortletFreemarkerResult()

### PortletFreemarkerResult

    public PortletFreemarkerResult(String location)

Method Detail

### setFreemarkerManager

    public void setFreemarkerManager(FreemarkerManager mgr)

### setContentType

    public void setContentType(String aContentType)

### getContentType

    public String getContentType()

  allow parameterization of the contentType the default being text/html

### doExecute

    public void doExecute(String location,
                          ActionInvocation invocation)
                   throws IOException,
                          freemarker.template.TemplateException,
                          javax.portlet.PortletException

  Execute this result, using the specified template location.

  The template location has already been interoplated for any variable substitutions

  this method obtains the freemarker configuration and the object wrapper from the provided hooks. It them implements the template processing workflow by calling the hooks for preTemplateProcess and postTemplateProcess

  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:
    `IOException`
    `freemarker.template.TemplateException`
    `javax.portlet.PortletException`

### executeActionResult

    private void executeActionResult(String location,
                                     ActionInvocation invocation)

  Parameters:
    `location` -
    `invocation` -

### executeRenderResult

    private void executeRenderResult(String location,
                                     ActionInvocation invocation)
                              throws freemarker.template.TemplateException,
                                     IOException,
                                     freemarker.template.TemplateModelException,
                                     javax.portlet.PortletException

  Parameters:
    `location` -
    `invocation` -
  Throws:
    `freemarker.template.TemplateException`
    `IOException`
    `freemarker.template.TemplateModelException`
    `javax.portlet.PortletException`

### prepareServletActionContext

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

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

### getConfiguration

    protected freemarker.template.Configuration getConfiguration()
                                                          throws freemarker.template.TemplateException

  This method is called from `doExecute(String, ActionInvocation)` to obtain the FreeMarker configuration object that this result will use for template loading. This is a hook that allows you to custom-configure the configuration object in a subclass, or to fetch it from an IoC container.

  The default implementation obtains the configuration from the ConfigurationManager instance.

  Throws:
    `freemarker.template.TemplateException`

### getObjectWrapper

    protected freemarker.template.ObjectWrapper getObjectWrapper()

  This method is called from `doExecute(String, ActionInvocation)` to obtain the FreeMarker object wrapper object that this result will use for adapting objects into template models. This is a hook that allows you to custom-configure the wrapper object in a subclass.

  The default implementation returns `Configurable.getObjectWrapper()`

### getWriter

    protected Writer getWriter()
                        throws IOException

  The default writer writes directly to the response writer.

  Throws:
    `IOException`

### createModel

    protected freemarker.template.TemplateModel createModel()
                                                     throws freemarker.template.TemplateModelException

  Build the instance of the ScopesHashModel, including JspTagLib support

  Objects added to the model are

  - Application - servlet context attributes hash model
  - JspTaglibs - jsp tag lib factory model
  - Request - request attributes hash model
  - Session - session attributes hash model
  - request - the HttpServletRequst object for direct access
  - response - the HttpServletResponse object for direct access
  - stack - the OgnLValueStack instance for direct access
  - ognl - the instance of the OgnlTool
  - action - the action itself
  - exception - optional : the JSP or Servlet exception as per the servlet spec (for JSP Exception pages)
  - struts - instance of the StrutsUtil class

  Throws:
    `freemarker.template.TemplateModelException`

### deduceLocale

    protected Locale deduceLocale()

  Returns the locale used for the `Configuration.getTemplate(String, Locale)`call. The base implementation simply returns the locale setting of the configuration. Override this method to provide different behaviour,

### postTemplateProcess

    protected void postTemplateProcess(freemarker.template.Template template,
                                       freemarker.template.TemplateModel data)
                                throws IOException

  the default implementation of postTemplateProcess applies the contentType parameter

  Throws:
    `IOException`

### preTemplateProcess

    protected boolean preTemplateProcess(freemarker.template.Template template,
                                         freemarker.template.TemplateModel model)
                                  throws IOException

  Called before the execution is passed to template.process(). This is a generic hook you might use in subclasses to perform a specific action before the template is processed. By default does nothing. A typical action to perform here is to inject application-specific objects into the model root

  Returns:
    true to process the template, false to suppress template processing.
  Throws:
    `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.