Class BambooFreemarkerManager

java.lang.Object
org.apache.struts2.views.freemarker.FreemarkerManager
com.atlassian.bamboo.ww2.BambooFreemarkerManager
All Implemented Interfaces:
TemplateRenderer, org.springframework.beans.factory.Aware, org.springframework.web.context.ServletContextAware

@Internal public class BambooFreemarkerManager extends org.apache.struts2.views.freemarker.FreemarkerManager implements TemplateRenderer, org.springframework.web.context.ServletContextAware
FreemarkerManager that automatically detects the alternative syntax
  • Field Details

  • Constructor Details

    • BambooFreemarkerManager

      public BambooFreemarkerManager()
  • Method Details

    • init

      public void init(javax.servlet.ServletContext servletContext) throws freemarker.template.TemplateException
      Overrides:
      init in class org.apache.struts2.views.freemarker.FreemarkerManager
      Throws:
      freemarker.template.TemplateException
    • setEncoding

      public void setEncoding(String encoding)
      Overrides:
      setEncoding in class org.apache.struts2.views.freemarker.FreemarkerManager
    • createConfiguration

      protected freemarker.template.Configuration createConfiguration(javax.servlet.ServletContext servletContext) throws freemarker.template.TemplateException
      Overrides:
      createConfiguration in class org.apache.struts2.views.freemarker.FreemarkerManager
      Throws:
      freemarker.template.TemplateException
    • createTemplateLoader

      protected freemarker.cache.TemplateLoader createTemplateLoader(javax.servlet.ServletContext servletContext, String ignore)
      Overrides:
      createTemplateLoader in class org.apache.struts2.views.freemarker.FreemarkerManager
    • populateContext

      public void populateContext(org.apache.struts2.views.freemarker.ScopesHashModel model, com.opensymphony.xwork2.util.ValueStack stack, Object action, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      Overrides:
      populateContext in class org.apache.struts2.views.freemarker.FreemarkerManager
    • render

      @Nullable public @Nullable String render(@Nullable @Nullable String templatePath, @Nullable @Nullable Map<String,Object> contextParams)
      Specified by:
      render in interface TemplateRenderer
    • renderPage

      @NotNull public @NotNull String renderPage(@NotNull @NotNull String templatePath, Map<String,Object> params)
      Render the resource found at the path
      Parameters:
      templatePath - must not be null
      params - params to pass to the Freemarker context. May be null
      Returns:
      the rendered result of the page
    • renderWithoutActionContext

      @NotNull public @NotNull String renderWithoutActionContext(@Nullable @Nullable String templatePath, @NotNull @NotNull Map<String,Object> contextParams)
      Renders the resource found at the path. Does not access variables found in webwork action context.
      Specified by:
      renderWithoutActionContext in interface TemplateRenderer
      Parameters:
      templatePath - must not be null
      contextParams - params to pass to the Freemarker context. May be null
      Returns:
      the rendered result of the page
    • render

      public void render(String templatePath, @Nullable @Nullable Map<String,Object> contextParams, @NotNull @NotNull Writer writer) throws IOException
      Render the given template to the given writer
      Specified by:
      render in interface TemplateRenderer
      Parameters:
      templatePath - The path of the template
      contextParams - The template context params
      writer - The writer to write to
      Throws:
      IOException - If an error occurred while writing to the writer
    • renderText

      @NotNull public @NotNull String renderText(@NotNull @NotNull String text, Map<String,Object> params)
      Render Freemarker markup. In order to correctly handle @ww.action tags which would write to the writer obtained from HttpServletResponse it is required to setup a wrapper to the response object and provide own writer there.
      Specified by:
      renderText in interface TemplateRenderer
      Parameters:
      text - String containing Freemarker markup
      params -
      Returns:
      Rendered Freemarker template
    • clearCaches

      public void clearCaches()
    • setHomeLocator

      public void setHomeLocator(@Nullable @Nullable BambooHomeLocator homeLocator)
    • setPluginAccessor

      public void setPluginAccessor(@Nullable @Nullable com.atlassian.plugin.PluginAccessor pluginAccessor)
    • setI18nBeanFactory

      public void setI18nBeanFactory(@Nullable @Nullable I18nBeanFactory i18nBeanFactory)
    • setServletContext

      public void setServletContext(javax.servlet.ServletContext servletContext)
      Specified by:
      setServletContext in interface org.springframework.web.context.ServletContextAware
    • setOsgiServiceProxyFactory

      public void setOsgiServiceProxyFactory(OsgiServiceProxyFactory osgiServiceProxyFactory)
    • buildTemplateModel

      public org.apache.struts2.views.freemarker.ScopesHashModel buildTemplateModel(com.opensymphony.xwork2.util.ValueStack stack, @Nullable @Nullable Object action, javax.servlet.ServletContext servletContext, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, freemarker.template.ObjectWrapper wrapper)
      Overrides:
      buildTemplateModel in class org.apache.struts2.views.freemarker.FreemarkerManager