Class 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
    • Constructor Detail

      • BambooFreemarkerManager

        public BambooFreemarkerManager()
    • Method Detail

      • 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
      • 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