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