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.