template location is not properly resolved when using action-tag
----------------------------------------------------------------

                 Key: WW-3377
                 URL: https://issues.apache.org/struts/browse/WW-3377
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.1.8
            Reporter: Philipp Leusmann


if an action-tag with executeResults=true includes an action from a different 
namespace and the template location of the included action in struts.xml is 
expressed relative to the namespace, template-loading for the included action 
fails. The template of the included action is searched for in the directory 
belonging to the namespace of the including action.

Example:

struts.xml:

<package name="p1" extends="struts-default" namespace="/ns1">
        <action name="includingAction">
                <result type="freemarker" name="success">includer.ftl</result>
        </action>
</package>

<package name="p2" extends="struts-default" namespace="/ns2">
        <action name="includedAction">
                <result type="freemarker" name="success">included.ftl</result>
        </action>
</package>


and in includer.ftl:

<@s.action name=includedAction" namespace="ns2" executeResults=true />

Will result in an Exception:

ERROR ActionComponent:27 - Could not execute action: /ns1/includingAction
java.io.FileNotFoundException: Template /ns1/included.ftl not found.
        at freemarker.template.Configuration.getTemplate(Configuration.java:489)
        at freemarker.template.Configuration.getTemplate(Configuration.java:459)
        at 
org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:168)
[...]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to