I just want to make sure you are using <s:div> not <div> in your xhtml and you are trying to rerender <s:div>?
MyFaces, Tomahawk, RichFaces 3.3 - that's what I use.
I'm not sure that you haven't already done it but:
1) add rich:messages on the page
2) add a4j:log on the page
3) try to debug getters in your beans to determine if they are fired or not when ajax call is being executed
4) look into firebug console and find ajax responses from the server. Try to find what you are re-rendering there.
P.S. try to simplify(as much as it possible) your code and post it here. It will help RF team to check/understand your problem better.
P.S.S. There also could be some problems with MyFaces so try the same sample with Sun implementation if it's possible.
Thanks for response!
1 Already in use
2 Added earlier, but I'm not sure what to look for. Do you have any idea which part of the log indicates what part of the tree is rerendered?
3 What do you mean by debugging getters? Everything is set correctly, even the tree is built correctly, it's just not getting rerendered on the client side I guess
4 Like at 2). I'm not sure what to look for. But trying.
PS: the code is about 1800 lines long. I'd rather wait a bit, maybe someone can come up with some idea or experience with dynamic build+rerender
Well, I tried to debug as much as I could.
So, when my a4j:function fires the actionListener, I debug the ActionEvent object and the source of the event if correctly the JS function and its rerender attribute contains the ID of the UIComponent to be rerendered. I also tried to look for that component with a FindComponentByID recursive method starting from the ViewRoot and the component was found.
But when I looked at the Firebug console log, I saw that in the response message the ID to rerender is NOT among the Ajax-Update-IDs and also the content-to-update for is missing. So it's just not posted. But after all, that's exactly what is described above, that was just the confirmation. Starting to get desperate :S
Problem solved. It had not much to do with RichFaces but more a general JSF mistake was made by me. Somehow the list was rebuilt by new objects, including the rerenderer JS function, thus they were not present in the tree to do their jobs. Now that is an awkward mistake to commit but I learned a lot of it