struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jasper Rosenberg (JIRA)" <>
Subject [jira] [Commented] (WW-4145) file.ftl in xhtml theme directly references xhtml controlfooter.ftl
Date Thu, 01 Aug 2013 11:05:49 GMT


Jasper Rosenberg commented on WW-4145:

Thanks :) 

That is where I started, but I ended up with it in the FreemakerTemplateEngine for 2 reasons:

1. The FreemarkerManager package had no theme/tag awareness that I could see, so it seemed
odd to make it less generic.  We would have to inject the FreemakerTemplateEngine into the
manager to pass to the FreemarkerThemeTemplateLoader, or use the container to construct the
FreemarkerThemeTemplateLoader and have it injected that way (along with the uiThemeExpansionToken).

2. If a subclass of FreemarkerManager needs to replace the config template loader (which I
do periodically when dynamically changing A/B tests), it is more fragile because the subclass
needs to know to put the FreemarkerThemeTemplateLoader back on top.  We could probably make
that clearer with some documentation and explicit hooks for that case though.

I do think there are some strong advantages to your suggestion, namely that we wouldn't need
the synchronized block, which technically isn't sufficient anyway since it doesn't keep someone
else in another thread from setting the template loader while you are in the synch block.

I will create an alternate patch with this approach and you can decide which you prefer.
> file.ftl in xhtml theme directly references xhtml controlfooter.ftl
> -------------------------------------------------------------------
>                 Key: WW-4145
>                 URL:
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Other
>    Affects Versions:
>            Reporter: Jasper Rosenberg
>            Assignee: Lukasz Lenart
>              Labels: freemarker, tags, xhtml
>             Fix For: 2.3.16
>         Attachments: ThemeExpansion.patch
> Should use $\{parameters.theme} instead so can be used in theme extension.
> {code}
> <#include "/${parameters.templateDir}/${parameters.theme}/controlheader.ftl" />
> <#include "/${parameters.templateDir}/simple/file.ftl" />
> <#include "/${parameters.templateDir}/${parameters.theme}/controlfooter.ftl" />
> {code}

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message