Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.7DR#1
-
Component/s: None
-
Labels:None
-
Environment:JBoss 4.2.1, Liferay 4.3.2, Sun RI 1.2 (Embedded in JBoss), Facelets (ICE Faces Implementation)
-
ICEsoft Forum Reference:
Description
Portlet specification (sec. 16.3.2) determines that PortletRequestDispatcher must add "javax.portlet.response" including another Servlet or JSP.
Such an include is done in com.icesoft.faces.webapp.http.portlet.MainPortlet and PortletRequestDispatcher adds corresponding attribut to a request - this attribut is presented in the request passed to the service method of com.icesoft.faces.webapp.http.servlet.MainServlet.
But than this attribute is lost somewhere. I can't get it in my portlet code using facesContext.getExternalContext().getRequestMap().getAttribute("javax.portlet.response").
It is rather important to have such an attribute since it allows to construct direct URL to the portlet and some page inside a portlet (using renderResponse.createRenderURL).
Such an include is done in com.icesoft.faces.webapp.http.portlet.MainPortlet and PortletRequestDispatcher adds corresponding attribut to a request - this attribut is presented in the request passed to the service method of com.icesoft.faces.webapp.http.servlet.MainServlet.
But than this attribute is lost somewhere. I can't get it in my portlet code using facesContext.getExternalContext().getRequestMap().getAttribute("javax.portlet.response").
It is rather important to have such an attribute since it allows to construct direct URL to the portlet and some page inside a portlet (using renderResponse.createRenderURL).
This attribute name is not presented around the names returned by request.GetAttributeNames() but it's value returned by request.getAttribute("javax.protlet.response") (see attachment).
I don't know whether this is a Liferay bug or feature but strictly speaking they do exactly what specification says:
"These attributes must be the same Portlet API objects accessible to the portlet doing the
include call. They are accessible from the included servlet or JSP via the
getAttribute method on the HttpServletRequest object."
No any word about request.GetAttributeNames() ...