myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Hookom <ja...@hookom.net>
Subject Re: [jira] Commented: (MYFACES-1110) findComponent return null for a valid clientId
Date Sun, 12 Feb 2006 05:33:24 GMT
findComponent has nothing to do with client ids.  They work off of 
different logic.

Martin Marinschek (JIRA) wrote:

>    [ http://issues.apache.org/jira/browse/MYFACES-1110?page=comments#action_12366049
] 
>
>Martin Marinschek commented on MYFACES-1110:
>--------------------------------------------
>
>Hmmm...
>
>yes, you should be able to search from the view-root no problem.
>
>Can you debug a little through find-component?
>
>I have a working test-case in tomahawks test source, plus we use the method successfully
in the AJAX part.
>
>regards,
>
>Martin
>
>  
>
>>findComponent return null for a valid clientId
>>----------------------------------------------
>>
>>         Key: MYFACES-1110
>>         URL: http://issues.apache.org/jira/browse/MYFACES-1110
>>     Project: MyFaces
>>        Type: Bug
>>  Components: Implementation
>>    Versions: Nightly
>> Environment: JBoss 4.0.3, XP
>>    Reporter: Dave
>>    Assignee: 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();
>>    
>>
>
>  
>


-- 
Jacob Hookom  -  Minneapolis
----------------------------
JSF-EG, JSF-RI, EL, Facelets


Mime
View raw message