public class PortletFreemarkerResult extends StrutsResultSupport
Modifier and Type | Field and Description |
---|---|
protected freemarker.template.Configuration |
configuration |
protected FreemarkerManager |
freemarkerManager |
protected ActionInvocation |
invocation |
protected String |
location |
protected freemarker.template.ObjectWrapper |
wrapper |
DEFAULT_PARAM, DEFAULT_URL_ENCODING, parseLocation
HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION, STRUTS_PORTLET_CONTEXT
Constructor and Description |
---|
PortletFreemarkerResult() |
PortletFreemarkerResult(String location) |
Modifier and Type | Method and Description |
---|---|
protected freemarker.template.TemplateModel |
createModel()
Build the instance of the ScopesHashModel, including JspTagLib support
|
protected Locale |
deduceLocale() |
void |
doExecute(String location,
ActionInvocation invocation)
Execute this result, using the specified template location.
|
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
|
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) |
conditionalParse, conditionalParseCollection, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse
protected ActionInvocation invocation
protected freemarker.template.Configuration configuration
protected freemarker.template.ObjectWrapper wrapper
protected FreemarkerManager freemarkerManager
protected String location
public PortletFreemarkerResult()
public PortletFreemarkerResult(String location)
public void setFreemarkerManager(FreemarkerManager mgr)
public void setContentType(String aContentType)
public String getContentType()
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 interpolated 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
doExecute
in class StrutsResultSupport
location
- template locationinvocation
- the action invocationIOException
- in case of I/O related errorsfreemarker.template.TemplateException
- in case of freemarker templates related errorsjavax.portlet.PortletException
- in case of portlet related errorsprotected freemarker.template.Configuration getConfiguration() throws freemarker.template.TemplateException
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. freemarker.template.TemplateException
- in case of freemarker templates related errorsprotected freemarker.template.ObjectWrapper getObjectWrapper()
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. Configurable.getObjectWrapper()
protected Writer getWriter() throws IOException
IOException
- in case of I/O related errorsprotected freemarker.template.TemplateModel createModel() throws freemarker.template.TemplateModelException
Build the instance of the ScopesHashModel, including JspTagLib support
Objects added to the model are:
freemarker.template.TemplateModelException
- in case of template model errorsprotected Locale deduceLocale()
Configuration.getTemplate(String, Locale)
call. The base
implementation simply returns the locale setting of the configuration.
Override this method to provide different behaviour,protected void postTemplateProcess(freemarker.template.Template template, freemarker.template.TemplateModel data) throws IOException
template
- freemarker templatedata
- model dataIOException
- in case of I/O related errorsprotected boolean preTemplateProcess(freemarker.template.Template template, freemarker.template.TemplateModel model) throws IOException
template
- freemarker templatemodel
- model dataIOException
- in case of I/O related errorsCopyright © 2000–2020 Apache Software Foundation. All rights reserved.