[
https://issues.apache.org/struts/browse/WW-2920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45603#action_45603
]
Carlos Costa e Silva commented on WW-2920:
------------------------------------------
I had a similar problem: put the template under webroot "/templates/struts"
<constant name="struts.ui.templateDir" value="tempaltes/struts" /> and struts
started complaining about not finding temlates that exist only in the simple
theme.
Checking, this happens because BaseTemplateEngine.getThemeProps(Template
template) does not find the themes.properties file. Looking at the code, the
theme.properties file has to be in the classpath: putting the templates under
/WEB-INF/classes/templates/strutsand and set <constant
name="struts.ui.templateDir" value="templates/struts" /> fixed the problem.
(Note: this was under 2.1.6)
Question: should templates outside the classpath work?
> Parent theme could not be found when customize template dir
> -----------------------------------------------------------
>
> Key: WW-2920
> URL: https://issues.apache.org/struts/browse/WW-2920
> Project: Struts 2
> Issue Type: Bug
> Components: Core Actions
> Affects Versions: 2.1.2
> Environment: Tomcat 6.0.18
> Reporter: Tom Nguyen
>
> When customizing freemarker template folder to any different folder than
> "template"
> <constant name="struts.ui.templateDir" value="WEB-INF/template" /> in
> struts.xml or
> struts.ui.templateDir=WEB-INF/template in struts.properties
> struts.ui.theme=xhtml
> When browse to a jsp or action page, errors happen because it could not found
> the template file in parent dir. for example the actionerror.ftl or
> div-close.ftl in simple theme (template/simple dir), but struts2 try to look
> up this file in xhtml(template/xhtml dir)
> 2008-12-17 18:09:56,440 ERROR (org.apache.struts2.components.UIBean:28) -
> error when rendering
> java.io.FileNotFoundException: Template
> /WEB-INF/template/xhtml/actionerror.ftl not found.
> at
> freemarker.template.Configuration.getTemplate(Configuration.java:489)
> at
> freemarker.template.Configuration.getTemplate(Configuration.java:452)
> at
> org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(Freemarker
> TemplateEngine.java:121)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:558)
> at org.apache.struts2.components.UIBean.end(UIBean.java:512)
> at
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.