[ http://issues.apache.org/jira/browse/MYFACES-1110?page=comments#action_12427928 ] Harry Co commented on MYFACES-1110: -----------------------------------
Hi Martin, I'm facing the same issue using my-faces 1.1.3. Is thios definitely fixed in a release or do I need a patch? I've gone the code and found out the indexed id for row in the datatable are not well used when trying to get back the component. TIA for your help. Harry Co. > findComponent return null for a valid clientId > ---------------------------------------------- > > Key: MYFACES-1110 > URL: http://issues.apache.org/jira/browse/MYFACES-1110 > Project: MyFaces Core > Issue Type: Bug > Components: General > Affects Versions: 1.1.2-SNAPSHOT > Environment: JBoss 4.0.3, XP > Reporter: Dave > Assigned To: Martin Marinschek > Priority: Critical > > In a PhaseListener, first get all the clientId(s) with queued messages, then > try to find the components. But ViewRoot.findComponent(clientId) return null. > > public void beforePhase(PhaseEvent event) { > FacesContext context = event.getFacesContext(); > UIViewRoot root = context.getViewRoot(); > Iterator<String> itr = context.getClientIdsWithMessages(); > while (itr.hasNext()) { > String clientId = itr.next(); > UIComponent component = root.findComponent(clientId); > // ERROR: component is null > .... > } > } > From debugger, clientId is > emp:empForm:empTable:1:salary:_idJsp144 > The clientId is returned from context.getClientIdsWithMessages(); > It must be valid, but root.findComponent() returns NULL. > JSF should have the following API > FacesContext.getComponentsWithMessages(); > which is better than getClientIdsWithMessages(); -- 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