[ http://issues.apache.org/jira/browse/MYFACES-788?page=comments#action_12434604 ] Michael Lipp commented on MYFACES-788: --------------------------------------
I'm not sure, because it is quite some time that I fixed this, but looking at my portlet bridge again (http://wfmopen.cvs.sourceforge.net/wfmopen/wfmopen/src/de/danet/an/util/jsf/MyFacesAdaptedPortlet.java?view=markup) I think things are a bit more complicated. The problem arises from more than one instance of a (MyFaces) portlet being on the same page. The action request is intended for one portlet (instance) only, but simply modifying the request attributes causes them to be applied to all portlet instances. So what I do is save the request attributes, call lifecycle.execute, get all new request attributes that may have been added during lifecycle.execute, save them in the portlet session and remove them from the request, thus restoring it to its initial set of values. Before lifecycle.render, I re-add the attributes saved in the portlet session, thus ensuring that only the portlet that executed the action "sees" the attributes that it added during the action. And ensuring that is has these attributes always available even if lifecycle.render is called several times after lifecycle.execute (as is usual in portals). > Request attributes lost when using MyFaces in Portlet > ----------------------------------------------------- > > Key: MYFACES-788 > URL: http://issues.apache.org/jira/browse/MYFACES-788 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 1.1.0 > Reporter: Michael Lipp > Attachments: ServletFacesContextImpl.java > > > Request attributes set in Phases prior to the rendering phase are no longer > available in the rendering phase. This behaviour is easily explainable from a > portlet writer's point of view (he knows about the distinction between the > ActionRequest and the RenderRequest). From the JSF implementor's point of > view (who knows only about a single request) this behaviour leads -- during > the rendering phase -- to the unexplicable unavailability of all request > attributes set prior to the rendering phase. > Looking through the JSF spec, I found no indication that request scope > attributes may be lost during the processing of a (from the JSF user's point > of view) single request. So I thing the portlet JSF bridge should ensure the > "carrying over" of request attributes between the action and the render > request. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
