I am making headway on the clientId issue but I am having a problem enforcing the uniqueness of ids by the HTML renderer.
I am storing each of the id's in an attribute in the view root (using the getViewRoot method of FacesContext.) The problem is that every other page refresh causes an exception because the id's already exist in the attribute I'm using to store them. I believe this is because the second time the page loads it is restoring the client tree from the state (and not rebuilding it.) Apparently the attributes of the view are also restored. The renderer is called each time the page is requested no matter what, so we get the exception. I could always move my duplicate checking code outside of the renderer but there are issues with that (I can elaborate if needed.) Does anyone have any ideas about how I could reset this attribute at the beginning of the render request? I'd like to do it without hard-coding the attribute somewhere. Thanks, sean

