Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wicket 尝试在组件的空模型上设置模型对象:窗体:checkgroup_Wicket - Fatal编程技术网

Wicket 尝试在组件的空模型上设置模型对象:窗体:checkgroup

Wicket 尝试在组件的空模型上设置模型对象:窗体:checkgroup,wicket,Wicket,我试图创建一个点击列表(对象),每个点击旁边都有一个复选框,这样我就可以选择它们并一次将它们全部删除。我为表格中的每一行制作了一个带有复选框的表单: final HashSet<HIT> selectedValues = new HashSet<HIT>(); final CheckGroup checkgroup = new CheckGroup("checkgroup"); final Form form = new Form("form"){

我试图创建一个点击列表(对象),每个点击旁边都有一个复选框,这样我就可以选择它们并一次将它们全部删除。我为表格中的每一行制作了一个带有复选框的表单:

 final HashSet<HIT> selectedValues = new HashSet<HIT>(); 

 final CheckGroup checkgroup = new CheckGroup("checkgroup");

 final Form form = new Form("form"){
        @Override
        public void onSubmit() {
            super.onSubmit(); 
        }
    };

    checkgroup.add(new CheckGroupSelector("checkboxSelectAll"));

    UserHitDataProvider userHitDataProvider = new UserHitDataProvider(selectedIsReal, keyId, secretId);

    final DataView<HIT> dataView = new DataView<HIT>("pageable", userHitDataProvider) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<HIT> item) {
            HIT hit = item.getModelObject();
            item.add(new CheckBox("checkbox", new SelectItemUsingCheckboxModel(hit,selectedValues))); 

            item.add(new Label("hitName", String.valueOf(hit.getTitle())));
            item.add(new Label("hitId", String.valueOf(hit.getHITId())));
        }
    };

//add checkgroup to form, form to page, etc.
一切都很好,但我在尝试提交时出错:

Caused by: java.lang.IllegalStateException: Attempt to set model object on null model of component: form:checkgroup
at org.apache.wicket.Component.setDefaultModelObject(Component.java:3042)
at org.apache.wicket.markup.html.form.FormComponent.updateCollectionModel(FormComponent.java:1572)
at org.apache.wicket.markup.html.form.CheckGroup.updateModel(CheckGroup.java:160)
at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:228)
at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:198)
at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274)
at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:262)
at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:245)
at org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:422)
at org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:1793)
at org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:1757)
at org.apache.wicket.markup.html.form.Form.process(Form.java:913)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:770)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:703)
... 27 more

我认为这是Ajax代码崩溃的一部分,因为我的SelectAllCheckBox按钮也失败了。你知道为什么吗?这是处理此类用例的最佳方法吗?

您的
检查组
没有
模型
,因此Wicket无法将
模型的当前状态复制到空
对象中。你应该在构造函数中使用一个额外的参数来表示你想在其中存储值的
模型。

你的复选框没有模型。顺便说一句,你为什么不使用Check组件呢?它有一个模型,这是第二个代码简介。为什么在复选框上使用复选框?
Caused by: java.lang.IllegalStateException: Attempt to set model object on null model of component: form:checkgroup
at org.apache.wicket.Component.setDefaultModelObject(Component.java:3042)
at org.apache.wicket.markup.html.form.FormComponent.updateCollectionModel(FormComponent.java:1572)
at org.apache.wicket.markup.html.form.CheckGroup.updateModel(CheckGroup.java:160)
at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:228)
at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:198)
at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274)
at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:262)
at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:245)
at org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:422)
at org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:1793)
at org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:1757)
at org.apache.wicket.markup.html.form.Form.process(Form.java:913)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:770)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:703)
... 27 more