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