AjaxFormSubmitBehavior doesn't work well with nested forms ----------------------------------------------------------
Key: WICKET-1429 URL: https://issues.apache.org/jira/browse/WICKET-1429 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 1.3.2 Environment: Windows XP SP2, JDK 1.5, Apache Tomcat 6.0.14 Reporter: dutrieux Hello everybody, I need to know if it's normal I get error when I do that : [code="TestPage.java"] public class TestPage extends WebPage { public TestPage() { Form f = new Form("f"); f.add(new AjaxFormSubmitBehavior("onsubmit") { @Override protected void onSubmit(AjaxRequestTarget target) { throw new UnsupportedOperationException("Not supported yet."); } @Override protected void onError(AjaxRequestTarget target) { throw new UnsupportedOperationException("Not supported yet."); } }); f.setOutputMarkupId(true); add(f); } } [code="TestPage.html"] <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <form wicket:id="f"> <input type="submit" value="Sumbit"/> </form> </body> </html> I get a error message : WicketMessage: Exception in rendering component: [MarkupContainer [Component id = f, page = fr.pasteur.sig.wicket.bug.TestPage, path = 0:f.Form, isVisible = true, isVersioned = true]] Root cause: java.lang.IllegalStateException: form was not specified in the constructor and cannot be found in the hierarchy of the component this behavior is attached to at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.getForm(AjaxFormSubmitBehavior.java:85) at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.getEventHandler(AjaxFormSubmitBehavior.java:97) at org.apache.wicket.ajax.AjaxEventBehavior.onComponentTag(AjaxEventBehavior.java:108) at org.apache.wicket.behavior.AbstractAjaxBehavior.onComponentTag(AbstractAjaxBehavior.java:132) at org.apache.wicket.Component.renderComponentTag(Component.java:3807) at org.apache.wicket.Component.renderComponent(Component.java:2462) at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1411) at org.apache.wicket.markup.html.form.Form.onRender(Form.java:1692) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1297) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1427) at org.apache.wicket.Page.onRender(Page.java:1460) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.Page.renderPage(Page.java:906) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595) Complete stack: org.apache.wicket.WicketRuntimeException: Exception in rendering component: [MarkupContainer [Component id = f, page = fr.pasteur.sig.wicket.bug.TestPage, path = 0:f.Form, isVisible = true, isVersioned = true]] at org.apache.wicket.Component.renderComponent(Component.java:2509) at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1411) at org.apache.wicket.markup.html.form.Form.onRender(Form.java:1692) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1297) at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1427) at org.apache.wicket.Page.onRender(Page.java:1460) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.Page.renderPage(Page.java:906) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond(BookmarkablePageRequestTarget.java:231) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:104) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1172) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:358) If I modify AjaxFormSubmitBehavior("onsubmit") by AjaxFormSubmitBehavior(f, "onsubmit) that work perfecty. Best regards. Dutrieux -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.