You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (JIRA)" <ji...@apache.org> on 2014/07/10 09:44:05 UTC

[jira] [Resolved] (WW-3764) Reading(theme.properties)PropertyFileFromFileSystem doesn't include templatePath value from web.xml

     [ https://issues.apache.org/jira/browse/WW-3764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart resolved WW-3764.
-------------------------------

    Resolution: Fixed

Small demo to show how to do it
https://github.com/apache/struts-examples/tree/develop/themes_override

> Reading(theme.properties)PropertyFileFromFileSystem doesn't include templatePath value from web.xml
> ---------------------------------------------------------------------------------------------------
>
>                 Key: WW-3764
>                 URL: https://issues.apache.org/jira/browse/WW-3764
>             Project: Struts 2
>          Issue Type: Improvement
>    Affects Versions: 2.3.1
>         Environment: Tomcat v7.0
>            Reporter: Vijayakannan
>            Assignee: Lukasz Lenart
>              Labels: theme.properties-loading-from-filesystem
>             Fix For: 2.3.18
>
>         Attachments: struts2-blank.war
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> There is an option in Struts2 to load the freemarker template from path by setting in web.xml (templatePath).Templates are loaded from the file system if we configure the file path.
> Also there is an option to extend the themes by setting the value for "parent" key in the themes.properties within the template folder
> readProperty() method helps us to read the themes.properties file from the file system and also from the classpath
> Aruguments :- 
> Combination of template directory ,template and file name "theme.properties"  are passed as propName
> This method doesn't help us to load the theme.properties from the specified templatePath 
> {code:java}
> private InputStream readProperty(String propName) {
>         InputStream is = tryReadingPropertyFileFromFileSystem(propName);
>         if (is == null) {
>             is = readPropertyFromClasspath(propName);
>         }
>         return is;
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)