Wicket表单在提交时缺少数据

Wicket表单在提交时缺少数据,wicket,Wicket,我有一个ModalWindow,它有一个表单,它有一个TabbedPanel,它有两个AbstractTab,每个AbstractTab上都有一个DataTable,带有输入元素 所以:ModalWindow>Form>TabbedPanel-->Tab1(面板)>DataTable(有两个选项卡) 在ModalWindow中,我添加了form 3按钮,如下所示: // save button final GbAjaxButton save = new GbAjaxButton(

我有一个ModalWindow,它有一个表单,它有一个TabbedPanel,它有两个AbstractTab,每个AbstractTab上都有一个DataTable,带有输入元素

所以:ModalWindow>Form>TabbedPanel-->Tab1(面板)>DataTable(有两个选项卡)

在ModalWindow中,我添加了form 3按钮,如下所示:

    // save button
    final GbAjaxButton save = new GbAjaxButton("save") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            System.out.println("Saving something...  ");
        }
    };
//保存按钮
最终GbAjaxButton保存=新建GbAjaxButton(“保存”){
私有静态最终长serialVersionUID=1L;
@凌驾
提交时公共无效(最终AjaxRequestTarget目标,最终表单){
System.out.println(“保存某物…”);
}
};
我可以看到数据通过POST发送到后端,但我似乎无法访问数据表中的任何字段

代码的某些部分包括:

tabA = new AbstractTab("Tab Name") {
    public Panel getPanel() {
        return new SomeNewPanel(panelId,<somedata>); // <-- this has the DataTable with inputs
    }
}
Form form = new Form("formNameInHtml");
form.add(new TabbedPanel("htmlName", tabs);
tabA=新的抽象选项卡(“选项卡名称”){
公共面板getPanel(){
return new SomeNewPanel(panelId,);//From,“如果要在模态窗口组件中使用表单,请确保将模态窗口本身放在另一个表单中(嵌套表单在Wicket中是合法的),并且在关闭窗口之前提交模态窗口上的表单。”


Wicket会自动在模式窗口外添加一个表单,因此如果您想在模式窗口内使用第二个表单,您应该覆盖
org.apache.Wicket.markup.html.form.form#isRootForm()
并让它返回true。

您好@atha,谢谢,但标记确实嵌入到了子表单中。问题最终是标记本身的id。Wicket的前端Ajax提交了错误的输入。非常罕见。@martin-g我将停止使用堆栈溢出,因为像您这样没有建设性和无用的观察结果。我厌倦了all那些认为自己了解一些东西并批评合法问题的人。快忙起来。
我可以看到通过POST发送到后端的数据,但我似乎无法访问数据表中的任何字段。
-这对我来说毫无意义。需要澄清。你既不告诉我们表单组件模型的类型,也不告诉我们您可以尝试在onSubmit()中读取POST数据。