Rewinding this thread. Comments and suggestion in-line.
> The problem is that it renders very slowly in browsers. > > The reason is not directly network speed but it is the VERY heavy > markup. Each table cell has 3 ajax components and the ajax call > functions are loooooooooong. > > So you're doing ~60 network round trips for the calender component alone, if I understand correctly, and you don't think the issue is network related. I find that hard to believe. If you disable JavaScript in your browser or use some other method for preventing the Ajax from executing, does it still render slowly -- assuming it will render at all with Ajax disabled. > I have tested to strip away all ajax calls and it renders pretty OK. > Now what I am thinking is that is there a way to shorten the wicket > ajax call urls? > > > Note that stripping away the Ajax calls strips away the round trips, not just the mark up. I believe the round trips are the real issue. > > Any practical suggestions? > > > I think you should pre-compute the initial state of your calender on page load, all the work done in ~1 round trip, and use Ajax to handle changes that must be reflected dynamically. Maybe I don't understand your use case well enough, is there some reason you could not do what I suggest? Ed.