public class FreemarkerDecoratorServlet
extends freemarker.ext.servlet.FreemarkerServlet
This is a SiteMesh FreeMarker view servlet.
It overrides the SiteMesh servlet to rely on the Freemarker Manager in Struts instead of creating it's own manager
Modifier and Type | Field and Description |
---|---|
protected freemarker.template.Configuration |
config |
protected boolean |
debug |
protected FreemarkerManager |
freemarkerManager |
protected boolean |
nocache |
static long |
serialVersionUID |
protected String |
templatePath |
INIT_PARAM_BUFFER_SIZE, INIT_PARAM_CLASSPATH_TLDS, INIT_PARAM_CONTENT_TYPE, INIT_PARAM_EXCEPTION_ON_MISSING_TEMPLATE, INIT_PARAM_META_INF_TLD_LOCATIONS, INIT_PARAM_NO_CACHE, INIT_PARAM_OVERRIDE_RESPONSE_CONTENT_TYPE, INIT_PARAM_OVERRIDE_RESPONSE_LOCALE, INIT_PARAM_RESPONSE_CHARACTER_ENCODING, INIT_PARAM_TEMPLATE_PATH, INIT_PARAM_VALUE_ALWAYS, INIT_PARAM_VALUE_DO_NOT_SET, INIT_PARAM_VALUE_FORCE_PREFIX, INIT_PARAM_VALUE_FROM_TEMPLATE, INIT_PARAM_VALUE_LEGACY, INIT_PARAM_VALUE_NEVER, INIT_PARAM_VALUE_WHEN_TEMPLATE_HAS_MIME_TYPE, KEY_APPLICATION, KEY_APPLICATION_PRIVATE, KEY_INCLUDE, KEY_JSP_TAGLIBS, KEY_REQUEST, KEY_REQUEST_PARAMETERS, KEY_REQUEST_PRIVATE, KEY_SESSION, META_INF_TLD_LOCATION_CLASSPATH, META_INF_TLD_LOCATION_CLEAR, META_INF_TLD_LOCATION_WEB_INF_PER_LIB_JARS, SYSTEM_PROPERTY_CLASSPATH_TLDS, SYSTEM_PROPERTY_META_INF_TLD_SOURCES
Constructor and Description |
---|
FreemarkerDecoratorServlet() |
Modifier and Type | Method and Description |
---|---|
protected freemarker.template.Configuration |
createConfiguration()
Create the instance of the freemarker Configuration object.
|
protected Locale |
deduceLocale(String templatePath,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Returns the locale used for the
Configuration.getTemplate(String, Locale) call. |
void |
doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
void |
doPost(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
void |
init() |
protected boolean |
preTemplateProcess(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
freemarker.template.Template template,
freemarker.template.TemplateModel templateModel)
Called before the execution is passed to template.process().
|
createDefaultClassPathTlds, createDefaultMetaInfTldSources, createDefaultObjectWrapper, createModel, createObjectWrapper, createRequestParametersHashModel, createTaglibFactory, createTemplateLoader, getConfiguration, getDefaultOverrideResponseContentType, getObjectWrapper, getTemplatePath, initializeServletContext, initializeSession, postTemplateProcess, preprocessRequest, processEnvironment, requestUrlToTemplatePath, setConfigurationDefaults
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
public static final long serialVersionUID
protected FreemarkerManager freemarkerManager
protected String templatePath
protected boolean nocache
protected boolean debug
protected freemarker.template.Configuration config
public void init() throws javax.servlet.ServletException
init
in class freemarker.ext.servlet.FreemarkerServlet
javax.servlet.ServletException
public void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
doGet
in class freemarker.ext.servlet.FreemarkerServlet
javax.servlet.ServletException
IOException
public void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException
doPost
in class freemarker.ext.servlet.FreemarkerServlet
javax.servlet.ServletException
IOException
protected Locale deduceLocale(String templatePath, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Configuration.getTemplate(String, Locale)
call.
The base implementation simply returns the locale setting of the
configuration. Override this method to provide different behaviour, i.e.
to use the locale indicated in the request.deduceLocale
in class freemarker.ext.servlet.FreemarkerServlet
protected freemarker.template.Configuration createConfiguration()
Create the instance of the freemarker Configuration object.
this implementation
createConfiguration
in class freemarker.ext.servlet.FreemarkerServlet
protected boolean preTemplateProcess(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, freemarker.template.Template template, freemarker.template.TemplateModel templateModel) throws javax.servlet.ServletException, 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
Example: Expose the Serlvet context path as "baseDir" for all templates:
((SimpleHash) data).put("baseDir", request.getContextPath() + "/"); return true;
preTemplateProcess
in class freemarker.ext.servlet.FreemarkerServlet
request
- the actual HTTP requestresponse
- the actual HTTP responsetemplate
- the template that will get executedjavax.servlet.ServletException
IOException
FreemarkerServlet.preTemplateProcess(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel)
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.