Hi devs,

I've got a new one today...

Just having an AjaxButton, and press F5 (or Ctrl+F5)... As the result the
HTML header is completely emptied!

This was not producing in -M3. In addition, when I click "back" in my app,
I get this error:

java.lang.NullPointerException
     at 
org.apache.wicket.ajax.AbstractAjaxResponse$AjaxHtmlHeaderContainer.newHeaderResponse(AbstractAjaxResponse.java:521)
     at 
org.apache.wicket.markup.html.internal.HtmlHeaderContainer.getHeaderResponse(HtmlHeaderContainer.java:350)
     at 
org.apache.wicket.markup.html.internal.HtmlHeaderContainer.onComponentTagBody(HtmlHeaderContainer.java:163)
     at 
org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70)
     at org.apache.wicket.Component.internalRenderComponent(Component.java:2557)
     at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1553)
     at org.apache.wicket.Component.internalRender(Component.java:2372)
     at org.apache.wicket.Component.render(Component.java:2300)
     at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1421)
     at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1614)
     at org.apache.wicket.Page.onRender(Page.java:879)
     at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142)
     at org.apache.wicket.Component.internalRender(Component.java:2372)
     at org.apache.wicket.Component.render(Component.java:2300)
     at org.apache.wicket.Page.renderPage(Page.java:1018)
     at 
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
     at 
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:195)
     at 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
     at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:837)
     at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
     at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
     at 
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:59)
     at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
     at 
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)

Complete stack:

org.apache.wicket.WicketRuntimeException: Exception in rendering
component: [AjaxHtmlHeaderContainer [Component id = _header_]]
     at org.apache.wicket.Component.internalRenderComponent(Component.java:2581)
     at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1553)
     at org.apache.wicket.Component.internalRender(Component.java:2372)
     at org.apache.wicket.Component.render(Component.java:2300)
     at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1421)
     at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1614)
     at org.apache.wicket.Page.onRender(Page.java:879)
     at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:142)
     at org.apache.wicket.Component.internalRender(Component.java:2372)
     at org.apache.wicket.Component.render(Component.java:2300)
     at org.apache.wicket.Page.renderPage(Page.java:1018)
     at 
org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124)
     at 
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:195)
     at 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
     at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:837)
     at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
     at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
     at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
     at 
org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:59)
     at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)



The quickstart is ready but it's actually very simple to reproduce:

        final FeedbackPanel feedback = new FeedbackPanel("feedback");
        this.add(feedback.setOutputMarkupId(true));

        final Form<?> form = new Form<Void>("form");
        this.add(form);

        form.add(new TextField<String>("myinput", Model.of("")));
        form.add(new AjaxButton("mybutton") {

            private static final long serialVersionUID = 1L;

            @Override
            protected void onSubmit(AjaxRequestTarget target, Form<?> form)
            {
                super.onSubmit(target, form);

                this.info("ok, now click F5");
                target.add(feedback);
            }
        });


Thanks,
Sebastien

Reply via email to