This was already complained about and fixed, see latest commit for WICKET-6503.
Have fun Sven Gesendet mit Blue Am 5. März 2018, 15:41, um 15:41, Vit Rozkovec <rozkovec...@email.cz> schrieb: >Hi, > >I came across one behavior that I do not know if is intentional or not. > >I have following hierarchy: > > * Panel1 > o ListView > + Panel2 > + Panel2 > + ... > o AjaxLink > >AjaxLink on click sends to the page event with Breadth broadcast. > >Panel1 reacts and adds itself to the AjaxRequestTarget. >Panel2 reacts and adds itself to the AjaxRequestTarget. > >Wicket 8.0.0-M8 and 7.10.0 produce warning: > >15:25:08.281 [qtp330382173-21] WARN >org.apache.wicket.page.XmlPartialPageUpdate - Component '[TestPanel2 >[Component id = test]]' with markupid: 'test7' not rendered because it >was already removed from page > >Wicket 8.0.0-M9 produces exception: > >Root cause: > >org.apache.wicket.WicketRuntimeException: No Page found for component: >[TestPanel2 [Component id = test, page = <No Page>, path = >0:test.TestPanel2]]. You probably forgot to add it to its parent >component. >at org.apache.wicket.Component.getPage(Component.java:1702) >at org.apache.wicket.Component.renderPart(Component.java:2206) >at >org.apache.wicket.page.XmlPartialPageUpdate.writeComponent(XmlPartialPageUpdate.java:81) >at >org.apache.wicket.page.PartialPageUpdate.writeComponents(PartialPageUpdate.java:262) >at >org.apache.wicket.page.PartialPageUpdate.writeTo(PartialPageUpdate.java:162) >at >org.apache.wicket.ajax.AjaxRequestHandler.respond(AjaxRequestHandler.java:383) >at >org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) >at >org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) >at >org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) >at >org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) >at >org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) >at >org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:262) >at >org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) >at >org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) >at >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629) >at >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) >at >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) >at >org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) >at >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) >at >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) >at >org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) >at >org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) >at >org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) >at >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) >at >org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) >at >org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) >at >org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) >at >org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) >at >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) >at >org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) >at org.eclipse.jetty.server.Server.handle(Server.java:561) >at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334) >at >org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) >at >org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) >at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104) >at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) >at >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247) >at >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140) >at >org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) >at >org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243) >at >org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679) >at >org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597) >at java.lang.Thread.run(Thread.java:748) > > > >I understand, that it may not be correct to add child and parent to the > >AjaxRequestTarget at the same time when working with events, though if >application is complex enough, it may happen. >A while ago I was also getting MarkupNotFoundException, I cannot >reproduce it at the moment :). Markup was there, as the component was >displayed correctly, exception was thrown during the ajax update, my >gut >feeling is that those two exceptions will have the same cause - adding >the child and the parent at the same time, while child sits in a >repeater. > >I have three quickstarts ready - 8.0.0-M9, 8.0.0-M8, 7.10.0 , if you >want. > >Best regards >Vit