I have a view composed of a template, and a handful of compositions. In one of those compositions, I want to trigger an ajax request with f:ajax, and I want to render a component in a different composition (but ultimately in the same page). That doesn't seem to work.

To be a little more explicit, I have a menu, implemented with a composition, from which I launch an ajax request. When the request returns, I want to render a single component in another composition. However, when I try to do that, JSF complains that the component id cannot be found, when in fact, the component is in the page, and is even in the same naming container.

I suspect that f:ajax is looking for the component id before the page is fully constructed, and therefore only sees components in the same composition.

This should work, correct? If I cannot effectively use ajax across compositions in the same page, then that makes templating a lot less attractive.

Thanks,


david