Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
I have a report of a user who wanted to use JSCookMenu in a portlet. This results in a ClassCastException because org.apache.myfaces.component.html.util.AddResource assumes that the underlying request object will be an HttpServletRequest.
I will fix this for AddResource, but I suspect that there are other offending classes in Tomahawk.
For future reference, you should always use methods from ExternalContext instead of doing (HttpServletRequest)ExternalContext.getRequest().
If you MUST use features of HttpServletRequest that ExternalContext doesn't offer then you should use the PortletUtil to make sure that you don't break portlets. To tell if you are running in a portlet environment, you can say:
org.apache.myfaces.portlet.PortletUtil.isPortletRequest(FacesContext facesContext)
Note: calling PortletUtil does not put any dependency on the Portlet API.
Attachments
Attachments
Issue Links
- is part of
-
TOMAHAWK-896 Casts to HttpServletRequest in Portlets
- Closed