We had a similar problem with some heavy javascript for resizing things on the screen. Since then in on our application init we call: getMarkupSettings().setStripWicketTags(true);
So on both Development and Deployment mode we have a similar HTML output and we don't risk trying Ajax refresh on a wicket:container On Fri, Jul 23, 2010 at 6:30 PM, Adam Bender [via Apache Wicket] < ml-node+2300335-1309396158-293...@n4.nabble.com<ml-node%2b2300335-1309396158-293...@n4.nabble.com> > wrote: > Greetings, > > I recently ran into an issue involving the swapping of fragments on an ajax > > event. The scenario looks roughly like this: > > 1) User comes to page with a form on it > 2) User fills in form and clicks submit > 3) Form is validated and accepted and a confirmation message is shown > > In this case the form and the confirmation message are both fragments and > in > order to achieve the visual effect desired the confirmation is swapped with > > the form during the execution of the onSubmit event handler for an > AjaxButton. The effective wicket looks like this: > > <wicket:container wicket:id="feedbackContainer"></wicket:container> > > <wicket:fragment wicket:id="feedbackForm"> > ... relevant html to display form... > </wicket:fragment> > > <wicket:fragment wicket:id="feedbackConfirmation> > ... relevant html to display confirmation... > </wicket:fragment> > > and the Java for swapping is something like this: > > feedbackForm.replaceWith(feedbackConfirmation); > target.addComponent(feedbackConfirmation); > > Now when I run this in Development mode everything works exactly as > expected. However, when I switch to Production mode (or suppress wicket > tags > during application configuration) this fails. In hindsight the reason is > obvious - wicket:container will be removed from the page when Wicket tags > are suppressed - but the only error message that appeared was in the ajax > debugger (not usually where I find out about missing components). And while > > the error messages were telling me that the feedbackContainer wasn't on the > > screen this didn't make sense to me because I could plainly see it in my > source. I ran around making sure I had setOutputMarkupId(true) on > everything > I could think of but to know avail - there just didn't seem to be any good > feedback on what was wrong. Of course one could argue that I could have > gotten to the bottom of this problem quicker if I just viewed the source of > > the page, or if I was more reliant on the ajax debugger and I agree. What > is > really at issue here is that we had a working feature in our test > environment that - though no code was changed - started failing in our > staging environment and no good information to diagnose it. > > Now to the feature request. As I said, in hindsight the problem here was > obvious and the solution was very simple: change the wicket container into > a > real html element. What confounded me is that a subtle change to my runtime > > configuration actually broke a feature that was otherwise working fine. The > > change to the configuration happened at a time and place far removed from > when the code was written and so the debugging process was very frustrating > > (a bit of that spooky action at a distance). Usually, the error messages > and > feedback from wicket are tremendous and I have often bragged about them to > my peers using other less 'human friendly' frameworks. I have come to so > rely on the error messages produced that when I dont see one I generally > assume all is working well. For this reason it was quite difficult to track > > down the actual cause of the problem. So I ask: is it possible to provide a > > warning in the logs that a situation has been created that may not work in > production mode because of the use of fragments in conjunction with a > wicket:container? Or perhaps a more general message that captures the > general issue of using wicket containers in production mode? > > I realize this may be a long shot of a request for any number of reasons > (perhaps I am the only one foolish enough to put wicket:containers in my > html) but I just spent half a day trying to sort out this problem and I was > > hoping to keep someone else from wasting their time. > > > Thanks, > Adam > > > ------------------------------ > View message @ > http://apache-wicket.1842946.n4.nabble.com/Works-in-Development-Mode-but-not-in-Production-Mode-tp2300335p2300335.html > To start a new topic under Wicket - User, email > ml-node+1842947-1647783149-293...@n4.nabble.com<ml-node%2b1842947-1647783149-293...@n4.nabble.com> > To unsubscribe from Wicket - User, click > here<http://apache-wicket.1842946.n4.nabble.com/subscriptions/Unsubscribe.jtp?code=YXZyYWhhbXJAZ21haWwuY29tfDE4NDI5NDd8LTEwNzY0NzQ1ODc=>. > > > -- []'s Avraham Rosenzweig avrah...@gmail.com