org.apache.struts2.views.freemarker
Class FreemarkerManager
java.lang.Object
org.apache.struts2.views.freemarker.FreemarkerManager
public class FreemarkerManager
- extends Object
Static Configuration Manager for the FreemarkerResult's configuration
Possible extension points are :-
- createConfiguration method
- loadSettings method
- getTemplateLoader method
- populateContext method
createConfiguration method
Create a freemarker Configuration.
loadSettings method
Load freemarker settings, default to freemarker.properties (if found in classpath)
getTemplateLoader method
create a freemarker TemplateLoader that loads freemarker template in the following order :-
- path defined in ServletContext init parameter named 'templatePath' or 'TemplatePath' (must be an absolute path)
- webapp classpath
- struts's static folder (under [STRUT2_SOURCE]/org/apache/struts2/static/
populateContext method
populate the created model.
Method Summary |
protected ScopesHashModel |
buildScopesHashModel(ServletContext servletContext,
HttpServletRequest request,
HttpServletResponse response,
freemarker.template.ObjectWrapper wrapper,
ValueStack stack)
|
freemarker.template.SimpleHash |
buildTemplateModel(ValueStack stack,
Object action,
ServletContext servletContext,
HttpServletRequest request,
HttpServletResponse response,
freemarker.template.ObjectWrapper wrapper)
|
protected freemarker.template.Configuration |
createConfiguration(ServletContext servletContext)
Create the instance of the freemarker Configuration object. |
freemarker.template.Configuration |
getConfiguration(ServletContext servletContext)
|
protected freemarker.ext.beans.BeansWrapper |
getObjectWrapper()
|
protected freemarker.cache.TemplateLoader |
getTemplateLoader(ServletContext servletContext)
The default template loader is a MultiTemplateLoader which includes
a ClassTemplateLoader and a WebappTemplateLoader (and a FileTemplateLoader depending on
the init-parameter 'TemplatePath'). |
protected void |
loadSettings(ServletContext servletContext,
freemarker.template.Configuration configuration)
Load the settings from the /freemarker.properties file on the classpath |
protected void |
populateContext(ScopesHashModel model,
ValueStack stack,
Object action,
HttpServletRequest request,
HttpServletResponse response)
|
void |
setCacheBeanWrapper(String val)
|
void |
setContainer(Container container)
|
void |
setEncoding(String encoding)
|
void |
setMruMaxStrongSize(String size)
|
void |
setWrapperAltMap(String val)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LOG
private static final Logger LOG
CONFIG_SERVLET_CONTEXT_KEY
public static final String CONFIG_SERVLET_CONTEXT_KEY
- See Also:
- Constant Field Values
KEY_EXCEPTION
public static final String KEY_EXCEPTION
- See Also:
- Constant Field Values
ATTR_APPLICATION_MODEL
private static final String ATTR_APPLICATION_MODEL
- See Also:
- Constant Field Values
ATTR_JSP_TAGLIBS_MODEL
private static final String ATTR_JSP_TAGLIBS_MODEL
- See Also:
- Constant Field Values
ATTR_REQUEST_MODEL
private static final String ATTR_REQUEST_MODEL
- See Also:
- Constant Field Values
ATTR_REQUEST_PARAMETERS_MODEL
private static final String ATTR_REQUEST_PARAMETERS_MODEL
- See Also:
- Constant Field Values
KEY_APPLICATION
public static final String KEY_APPLICATION
- See Also:
- Constant Field Values
KEY_REQUEST_MODEL
public static final String KEY_REQUEST_MODEL
- See Also:
- Constant Field Values
KEY_SESSION_MODEL
public static final String KEY_SESSION_MODEL
- See Also:
- Constant Field Values
KEY_JSP_TAGLIBS
public static final String KEY_JSP_TAGLIBS
- See Also:
- Constant Field Values
KEY_REQUEST_PARAMETER_MODEL
public static final String KEY_REQUEST_PARAMETER_MODEL
- See Also:
- Constant Field Values
encoding
private String encoding
altMapWrapper
private boolean altMapWrapper
cacheBeanWrapper
private boolean cacheBeanWrapper
mruMaxStrongSize
private int mruMaxStrongSize
tagLibraries
private Map<String,TagLibrary> tagLibraries
FreemarkerManager
public FreemarkerManager()
setEncoding
public void setEncoding(String encoding)
setWrapperAltMap
public void setWrapperAltMap(String val)
setCacheBeanWrapper
public void setCacheBeanWrapper(String val)
setMruMaxStrongSize
public void setMruMaxStrongSize(String size)
setContainer
public void setContainer(Container container)
getConfiguration
public freemarker.template.Configuration getConfiguration(ServletContext servletContext)
throws freemarker.template.TemplateException
- Throws:
freemarker.template.TemplateException
buildScopesHashModel
protected ScopesHashModel buildScopesHashModel(ServletContext servletContext,
HttpServletRequest request,
HttpServletResponse response,
freemarker.template.ObjectWrapper wrapper,
ValueStack stack)
populateContext
protected void populateContext(ScopesHashModel model,
ValueStack stack,
Object action,
HttpServletRequest request,
HttpServletResponse response)
getObjectWrapper
protected freemarker.ext.beans.BeansWrapper getObjectWrapper()
getTemplateLoader
protected freemarker.cache.TemplateLoader getTemplateLoader(ServletContext servletContext)
- The default template loader is a MultiTemplateLoader which includes
a ClassTemplateLoader and a WebappTemplateLoader (and a FileTemplateLoader depending on
the init-parameter 'TemplatePath').
The ClassTemplateLoader will resolve fully qualified template includes
that begin with a slash. for example /com/company/template/common.ftl
The WebappTemplateLoader attempts to resolve templates relative to the web root folder
createConfiguration
protected freemarker.template.Configuration createConfiguration(ServletContext servletContext)
throws freemarker.template.TemplateException
- Create the instance of the freemarker Configuration object.
this implementation
- obtains the default configuration from Configuration.getDefaultConfiguration()
- sets up template loading from a ClassTemplateLoader and a WebappTemplateLoader
- sets up the object wrapper to be the BeansWrapper
- loads settings from the classpath file /freemarker.properties
- Parameters:
servletContext
-
- Throws:
freemarker.template.TemplateException
loadSettings
protected void loadSettings(ServletContext servletContext,
freemarker.template.Configuration configuration)
- Load the settings from the /freemarker.properties file on the classpath
- See Also:
for the definition of valid settings
buildTemplateModel
public freemarker.template.SimpleHash buildTemplateModel(ValueStack stack,
Object action,
ServletContext servletContext,
HttpServletRequest request,
HttpServletResponse response,
freemarker.template.ObjectWrapper wrapper)
Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.