Re: Behavior.renderHeader being invoked twice
In development config the headers are validated after rendering: org.apache.wicket.markup.html.WebPage.validateHeaders(WebPage.java:274) Sven On 11/25/2012 09:17 PM, Nick Pratt wrote: Any thoughts on why Im seeing two invocations of the renderHead method? On Wed, Nov 21, 2012 at 12:14 PM, Nick Pratt wrote: I've created a custom Behavior, and attached it to a DataTable. I'm seeing two invocations per Page load of myBehavior.renderHeader method, stacks below. I've confirmed the following: 1. The containing Panel, and the DataTable are only added and constructed once. 2. The hashcode of the Behavior is the same on both invocations 3. Ive only added the Behavior once, to the DataTable. Are the following stacks expected correct processing for Wicket 6.3.0 ? at com.DataTableBehavior.renderHead(DataTableBehavior.java:39) at org.apache.wicket.Component.renderHead(Component.java:2700) at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85) at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96) at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87) at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87) at org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51) at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:78) at org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:57) at org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170) at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71) at org.apache.wicket.Component.internalRenderComponent(Component.java:2535) at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1491) at org.apache.wicket.Component.internalRender(Component.java:2365) at org.apache.wicket.Component.render(Component.java:2293) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1388) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1553) at org.apache.wicket.Page.onRender(Page.java:884) at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142) at org.apache.wicket.Component.internalRender(Component.java:2365) @@ at org.apache.wicket.Component.render(Component.java:2293) at org.apache.wicket.Page.renderPage(Page.java:1021) at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:116) at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:244) at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:830) at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread
Re: Behavior.renderHeader being invoked twice
Any thoughts on why Im seeing two invocations of the renderHead method? On Wed, Nov 21, 2012 at 12:14 PM, Nick Pratt wrote: > I've created a custom Behavior, and attached it to a DataTable. > > I'm seeing two invocations per Page load of myBehavior.renderHeader > method, stacks below. > I've confirmed the following: > 1. The containing Panel, and the DataTable are only added and constructed > once. > 2. The hashcode of the Behavior is the same on both invocations > 3. Ive only added the Behavior once, to the DataTable. > > Are the following stacks expected correct processing for Wicket 6.3.0 ? > > > > at com.DataTableBehavior.renderHead(DataTableBehavior.java:39) > at org.apache.wicket.Component.renderHead(Component.java:2700) > at > org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy$1.component(ChildFirstHeaderRenderStrategy.java:85) > at > org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:96) > at > org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87) > at > org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:87) > at > org.apache.wicket.markup.renderStrategy.DeepChildFirstVisitor.visit(DeepChildFirstVisitor.java:51) > at > org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderChildHeaders(ChildFirstHeaderRenderStrategy.java:78) > at > org.apache.wicket.markup.renderStrategy.ChildFirstHeaderRenderStrategy.renderHeader(ChildFirstHeaderRenderStrategy.java:57) > at > org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:170) > at > org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:71) > at > org.apache.wicket.Component.internalRenderComponent(Component.java:2535) > at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1491) > at org.apache.wicket.Component.internalRender(Component.java:2365) > at org.apache.wicket.Component.render(Component.java:2293) > at > org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1388) > at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1553) > at org.apache.wicket.Page.onRender(Page.java:884) > at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142) > at org.apache.wicket.Component.internalRender(Component.java:2365) > @@ at org.apache.wicket.Component.render(Component.java:2293) > at org.apache.wicket.Page.renderPage(Page.java:1021) > at > org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:116) > at > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:244) > at > org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:830) > at > org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) > at org.mortbay.jetty.Server.handle(Server.java:326) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > at > org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run