[ 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