PortletFreemarkerResult not putting "location" to session and 
DirectRenderFromEventAction not able to forward to a freemarker result 
-------------------------------------------------------------------------------------------------------------------------------------

                 Key: WW-3087
                 URL: https://issues.apache.org/struts/browse/WW-3087
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.0.11.2
         Environment: Any Environment
            Reporter: Dushyant Pandya


When a portlet is targetted for an "event" and if the targeted action forwards 
to a freemarker result then the DirectRenderFromEventAction is executed in the 
consecutive "render" request and the DirectRenderFromEventAction relies on the 
RENDER_DIRECT_LOCATION i.e., "struts.portlet.renderDirectLocation" on the 
session to execute the freemarker template. The "PortletFreemarkerResult" class 
never puts the "location" into the session and hence the 
DirectRenderFromEventAction is not able to execute the Freemarker result and 
throws PortletException.  

The fix would be to put following two lines in the 
"executeActionResult(String,ActionInvocation)" method of the 
"org.apache.struts2.views.freemarker.PortletFreemarkerResult" class

        Map sessionMap = invocation.getInvocationContext().getSession();
        sessionMap.put(PortletActionConstants.RENDER_DIRECT_LOCATION, location);


-- 
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