[ http://issues.apache.org/jira/browse/MYFACES-1358?page=all ]
Martin Marinschek resolved MYFACES-1358.
----------------------------------------
Resolution: Invalid
> PortletExternalContextImpl should massage RenderResponse.getNamespace() into
> acceptable ID
> ------------------------------------------------------------------------------------------
>
> Key: MYFACES-1358
> URL: http://issues.apache.org/jira/browse/MYFACES-1358
> Project: MyFaces Core
> Issue Type: Bug
> Components: Portlet_Support
> Affects Versions: 1.1.3
> Environment: MacOS X, JDK 5, GridSphere Portal
> Reporter: Jason Novotny
>
> Hi,
> I've been testing the most basic portlet in our GridSphere framework and
> ran into this error:
> java.lang.IllegalArgumentException: Subsequent characters of component
> identifier must be a letter, a digit, an underscore ('_'), or a dash ('-')!
> But component identifier contains "#"
> at
> javax.faces.component.UIComponentBase.isIdValid(UIComponentBase.java:1049)
> It appears that PortletExternalContextImpl is using the
> RenderResponse.getNamespace() method which in our case will return a string
> containing a #.
> The JSR168 spec. does not specify any disallowed characters in getNamespace()
> so I think this is a bug in the PortletExternalContextImpl class-- probably
> in the
> public String encodeNamespace(String name)
> method, it should conert the response.getNamespace into a form that the
> UIComponentBase.isValid method can deal with.
> Thanks, Jason
--
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