I know I should set this problem with error messages down and move on, 
but.. it's got me intrigued.. So, since I couldn't get Craig's cool idea 
to work, I decided to probe a bit. 

Here's what I have in my RegistrationBean (backing bean):

private HtmlInputSecret password = null; (with usual getter and setter ..)

String pClientid = 
password.getClientId(FacesContext.getCurrentInstance());
System.out.println("pClientid is: " + pClientid);
>>Output: pClientid is: registrationForm:password
 
UIComponent uic = 
FacesContext.getCurrentInstance().getViewRoot().findComponent(pClientid);
System.out.println("uic: " + 
uic.getClientId(FacesContext.getCurrentInstance()));
>>Output: uic: registrationForm:password

error(uic, messages.getMessage("password.mismatch"));

Iterator itt = 
FacesContext.getCurrentInstance().getClientIdsWithMessages();
while (itt.hasNext()) {
        System.out.println("nextOne is: " + itt.next());
}
>>Output: nextOne is: null

So seems like I am in fact queuing a FacesMessage to a "good" UICompenent 
with my error(.. ) call, however, it is mysteriously not appearing within 
my iterator. (So it is no wonder that the jsp doeasn't display properly 
with my error message in the proper place..)

Does anyone see what the problem is..?

Many thanks in advance!
Geeta

Reply via email to