What
you should find (I've not tested this recently with the most recent Mojarra versions) is that it doesn't
quite work as you'd expect with f:ajax. The problem has always been that on the current request cycle
the EL expression is resolved, but only on the next request is the render target updated, and this is probably
not quite what you wanted.
The workaround involves not using render= on the f:ajax tag, but instead adding the component to be
rendered from a listener. In this case instead of using f:ajax render="yourtarget", or more specifically
f:ajax render="#{bean.propertyContainingTheStringYourTarget}", you'd do it like this:
If you're using the richfaces a4j:ajax, the developers had the good common sense to handle this situation
and you don't require the workaround.
Regards,
Brendan.