Class FreemarkerManager
java.lang.Object
org.apache.struts2.views.freemarker.FreemarkerManager
Static Configuration Manager for the FreemarkerResult's configuration
Possible extension points are:
- createConfiguration method
- loadSettings method
- createTemplateLoader method
- populateContext method
  createConfiguration method 
 Create a freemarker Configuration.
 
  loadSettings method 
 Load freemarker settings, default to freemarker.properties (if found in classpath)
 
  createTemplateLoader 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.
 
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected booleanstatic final Stringprotected booleanprotected freemarker.template.Configurationstatic final Stringprotected Stringprotected booleanstatic final Stringprotected Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected intprotected booleanprotected booleanprotected Map<String,TagLibraryModelProvider> protected Stringprotected Stringprotected freemarker.template.ObjectWrapper
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddSetting(String name, String value) protected ScopesHashModelbuildScopesHashModel(jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper, ValueStack stack) buildTemplateModel(ValueStack stack, Object action, jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper) protected voidconfigureTemplateLoader(freemarker.cache.TemplateLoader templateLoader) Sets the Freemarker Configuration's template loader with the FreemarkerThemeTemplateLoader at the top.protected freemarker.template.ConfigurationcreateConfiguration(jakarta.servlet.ServletContext servletContext) Create the instance of the freemarker Configuration object.protected freemarker.template.ObjectWrappercreateObjectWrapper(jakarta.servlet.ServletContext servletContext) protected freemarker.cache.TemplateLoadercreateTemplateLoader(jakarta.servlet.ServletContext servletContext, String templatePath) Create the template loader.freemarker.template.Configurationfreemarker.template.ConfigurationgetConfiguration(jakarta.servlet.ServletContext servletContext) booleangetDebug()protected freemarker.template.VersiongetFreemarkerVersion(jakarta.servlet.ServletContext servletContext) booleanbooleanfreemarker.template.ObjectWrappervoidinit(jakarta.servlet.ServletContext servletContext) protected voidloadSettings(jakarta.servlet.ServletContext servletContext) Load the settings from the /freemarker.properties file on the classpathprotected voidpopulateContext(ScopesHashModel model, ValueStack stack, Object action, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) voidvoidsetContainer(Container container) voidsetEncoding(String encoding) voidsetFileManagerFactory(FileManagerFactory fileManagerFactory) voidsetMruMaxStrongSize(String size) voidsetTemplateUpdateDelay(String delay) voidsetThemeTemplateLoader(FreemarkerThemeTemplateLoader themeTemplateLoader) voidsetWrapperAltMap(String val) 
- 
Field Details- 
INITPARAM_TEMPLATE_PATH- See Also:
 
- 
INITPARAM_NOCACHE- See Also:
 
- 
INITPARAM_CONTENT_TYPE- See Also:
 
- 
DEFAULT_CONTENT_TYPE- See Also:
 
- 
INITPARAM_DEBUG- See Also:
 
- 
KEY_REQUEST- See Also:
 
- 
KEY_SESSION- See Also:
 
- 
KEY_APPLICATION- See Also:
 
- 
KEY_APPLICATION_PRIVATE- See Also:
 
- 
KEY_JSP_TAGLIBS- See Also:
 
- 
ATTR_TEMPLATE_MODEL- See Also:
 
- 
KEY_REQUEST_PARAMETERS_STRUTS- See Also:
 
- 
EXPIRATION_DATE
- 
CONFIG_SERVLET_CONTEXT_KEY- See Also:
 
- 
KEY_EXCEPTION- See Also:
 
- 
templatePath
- 
nocacheprotected boolean nocache
- 
debugprotected boolean debug
- 
configprotected freemarker.template.Configuration config
- 
wrapperprotected freemarker.template.ObjectWrapper wrapper
- 
contentType
- 
noCharsetInContentTypeprotected boolean noCharsetInContentType
- 
encoding
- 
altMapWrapperprotected boolean altMapWrapper
- 
cacheBeanWrapperprotected boolean cacheBeanWrapper
- 
mruMaxStrongSizeprotected int mruMaxStrongSize
- 
templateUpdateDelay
- 
tagLibraries
 
- 
- 
Constructor Details- 
FreemarkerManagerpublic FreemarkerManager()
 
- 
- 
Method Details- 
setEncoding
- 
setWrapperAltMap
- 
setCacheBeanWrapper
- 
setMruMaxStrongSize
- 
setTemplateUpdateDelay
- 
setContainer
- 
setFileManagerFactory
- 
setThemeTemplateLoader
- 
getNoCharsetInContentTypepublic boolean getNoCharsetInContentType()
- 
getTemplatePath
- 
getNocachepublic boolean getNocache()
- 
getDebugpublic boolean getDebug()
- 
getConfigpublic freemarker.template.Configuration getConfig()
- 
getWrapperpublic freemarker.template.ObjectWrapper getWrapper()
- 
getContentType
- 
getConfigurationpublic freemarker.template.Configuration getConfiguration(jakarta.servlet.ServletContext servletContext) 
- 
initpublic void init(jakarta.servlet.ServletContext servletContext) throws freemarker.template.TemplateException - Throws:
- freemarker.template.TemplateException
 
- 
configureTemplateLoaderprotected void configureTemplateLoader(freemarker.cache.TemplateLoader templateLoader) Sets the Freemarker Configuration's template loader with the FreemarkerThemeTemplateLoader at the top.- Parameters:
- templateLoader- the template loader
- See Also:
 
- 
createConfigurationprotected freemarker.template.Configuration createConfiguration(jakarta.servlet.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- the servlet context
- Returns:
- a instance of the freemarker configuration object
- Throws:
- freemarker.template.TemplateException- in case of errors during creating the configuration
 
- 
getFreemarkerVersionprotected freemarker.template.Version getFreemarkerVersion(jakarta.servlet.ServletContext servletContext) 
- 
buildScopesHashModelprotected ScopesHashModel buildScopesHashModel(jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper, ValueStack stack) 
- 
createObjectWrapperprotected freemarker.template.ObjectWrapper createObjectWrapper(jakarta.servlet.ServletContext servletContext) 
- 
createTemplateLoaderprotected freemarker.cache.TemplateLoader createTemplateLoader(jakarta.servlet.ServletContext servletContext, String templatePath) Create the template loader. The default implementation will create aClassTemplateLoaderif the template path starts with "class://", aFileTemplateLoaderif the template path starts with "file://", and aWebappTemplateLoaderotherwise.- Parameters:
- servletContext- the servlet path
- templatePath- the template path to create a loader for
- Returns:
- a newly created template loader
 
- 
loadSettingsprotected void loadSettings(jakarta.servlet.ServletContext servletContext) Load the settings from the /freemarker.properties file on the classpath- Parameters:
- servletContext- the servlet context
- See Also:
- 
- for the definition of valid settings
 
 
- 
addSetting- Throws:
- freemarker.template.TemplateException
 
- 
buildTemplateModelpublic ScopesHashModel buildTemplateModel(ValueStack stack, Object action, jakarta.servlet.ServletContext servletContext, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper) 
- 
populateContextprotected void populateContext(ScopesHashModel model, ValueStack stack, Object action, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) 
 
-