Hi Lukasz, Just to follow-up, I *think* I identified the problem... I just don't understand why. The issue is that our template directory is in src/main/webapps/ and not src/main/resources/ . Is it possible that this is a bug in how the UIBean resolves paths? When we move the directory the errors for struts2 looking for template/~~~tdar/css.ftl go away. Is it possible that there's a relative directory reference or some other assumption in how/where it looks for different themes?
- adam On Thu, Jan 23, 2014 at 8:15 AM, adam brin <adam.b...@asu.edu> wrote: > Hi Lukasz, > Our case is slightly different... we have about 10 files in our theme. > None of our theme files reference a local version of css.ftl. But to reduce > the problem to its simplest, if we remove everything from > src/main/webapp/template/tdar/ except for theme.properties and > textarea.ftl, we still get the error. Finally, if we change the > textarea.ftl to comment out the controlheader and controlfooter references: > > <#-- <#include > "/${parameters.templateDir}/${parameters.theme}/controlheader.ftl" /> --> > <#include "/${parameters.templateDir}/simple/textarea.ftl" /> > <#-- <#include > "/${parameters.templateDir}/${parameters.theme}/controlfooter.ftl" /> --> > > > we still see: > > The failing instruction (print stack trace for 1 more): > ==> #include "/\${parameters.templateDir}... [in template > "template/simple/textarea.ftl" at line 42, column 1] > > ... > Caused by: freemarker.core._MiscTemplateException: Error reading included > file "template/~~~tdar/css.ftl": > Template "template/~~~tdar/css.ftl" not found. > > > Any thoughts? I'm not sure how to pair down our theme any more than it > already is to isolate what's wrong. > > thanks, > > adam > > > On Wed, Jan 22, 2014 at 11:41 PM, Lukasz Lenart > <lukaszlen...@apache.org>wrote: > >> As I understand you have created a custom theme with only one template >> - textarea.ftl and there isn't neither controlheader.ftl nor >> controlfooter.ftl in your them? >> >> If so, you must use ${parameters.expandTheme} instead of >> ${parameters.theme} to tell ThemeManager to check current theme and >> then parent theme. If you add these two templates at some point, >> ThemeManager will pick theme up automatically. >> >> Another example: >> If you want to only change controlheader.ftl/controlfooter.ftl (and >> you don't want to touch textarea.ftl), you can simple define them in >> your theme and textarea.ftl from xhtml theme will pick them up as well >> (when there be no theme attribute defined, in other case, templates >> from pointed out theme will be used instead). >> >> Hope that helps :-) >> >> >> Regards >> -- >> Ćukasz >> + 48 606 323 122 http://www.lenart.org.pl/ >> >> >> 2014/1/22 adam brin <ab...@digitalantiquity.org>: >> > This is related to WW-4145, I think. >> > >> > When upgrading to 2.3.16, we're receiving the following error messages >> for >> > our locally created theme. This theme builds off of the simple theme, >> but >> > mostly includes "custom" controlheader and controlfooter elements. The >> > issue we're seeing is that struts seems to be looking for "inherited" >> files >> > (e.g. css.ftl from the simple theme) in our custom theme instead of the >> > parent theme (in our case simple). >> > >> > This only happens when we use two input themes on the same page: >> > >> > <!-- start page --> >> > >> > <@s.textarea name="test2" theme="tdar" label="test2"/> >> > <@s.textarea name="test" theme="xhtml" label="test" /> >> > >> > <!-- end page --> >> > >> > >> > >> > Our theme lives in src/main/webapps/template. We're not overriding the >> > templateDir directive anywhere. Our theme "tdar" contains the >> following >> > files: >> > >> > - checkbox.ftl >> > - checkboxlist.ftl >> > - controlfooter.ftl >> > - controlheader.ftl >> > - controllabel.ftl >> > - file.ftl >> > - hidden.ftl >> > - password.ftl >> > - radiomap.ftl >> > - select.ftl >> > - text.ftl >> > - textarea.ftl >> > - theme.properties >> > >> > >> > When loading a page that uses only the textarea: >> > >> > <@s.textarea name="test" theme="tdar" /> >> > >> > >> > we receive the following error: >> > >> > Caused by: freemarker.core._MiscTemplateException: Error reading >> included >> > file "template/~~~tdar/css.ftl": >> > Template "template/~~~tdar/css.ftl" not found. >> > >> > The failing instruction (print stack trace for 1 more): >> > ==> #include "/\${parameters.templateDir}... [in template >> > "template/simple/textarea.ftl" at line 42, column 1] >> > >> > >> > the textarea.ftl contains: >> > >> > <#include >> > "/${parameters.templateDir}/${parameters.theme}/controlheader.ftl" >> > /><#include "/${parameters.templateDir}/simple/textarea.ftl" /> >> > <#include >> > "/${parameters.templateDir}/${parameters.theme}/controlfooter.ftl" /> >> > >> > >> > note, I've tried change parameters.theme to parameters.expandTheme as >> > documented here: >> > http://struts.apache.org/release/2.3.x/docs/extending-themes.html >> > >> > our theme.properties contains: >> > >> > parent=simple >> > >> > >> > is anyone else seeing this? Or, are we missing something with our >> > configuration? >> > >> > thanks, >> > >> > adam >> > _________________________________________________________ >> > Adam Brin >> > Director of Technology, Digital Antiquity >> > 480.965.1278 >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> > -- _________________________________________________________ Adam Brin Director of Technology, Digital Antiquity 480.965.1278