【问题标题】:primefaces - selection list from multiple selection datatable returns null [duplicate]primefaces - 多选数据表中的选择列表返回 null [重复]
【发布时间】:2016-06-26 23:14:48
【问题描述】:

我正在使用 Primefaces 5.0 和 JSF 2.0。

你好我有一个定义如下:

<p:dataTable id="activePackagesBeanTable"
                            value="#{packageManagerLocal_GetAllPackages.reviewList}"
                            var="activePkg"
                            selection="#{packageManagerLocal_GetAllPackages.selectedPackages}"
                            rowKey="#{activePkg.hashCode()}">
                            <p:ajax event="rowSelectCheckbox" update=":mainPanel:delegateButtonForm" />
                            <p:ajax event="rowUnselectCheckbox" update=":mainPanel:delegateButtonForm" />
                            <p:ajax event="toggleSelect" update=":mainPanel:delegateButtonForm" />
                            <p:column selectionMode="multiple" style="width:16px;text-align:center"/>
</p:dataTable>

以及在该选择列表上执行操作的 a,其定义如下:

<p:commandButton id="delegateDoAction1" styleClass="button_blue"
                            type="submit" ajax="false" immediate="true" value="Delegate"
                            action="#{packageManagerLocal_GetAllPackages.reassign}"
                            title="#{hints_bundle['button.package.reassign']}"
                            execute="activePackagesBeanTable">
                        </p:commandButton>

在 backing bean 内部,我有如下定义的函数 reassion()。

List<MyObject> selectedPackages;

// Getters and setters for selectedPackages
.....
public String reassign() {
    String method = "reassign";
    logger.entering(this.getClass().getName(), method);
    FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put("packageList", getSelectedPackages());
    logger.entering(this.getClass().getName(), method, "SWITCH");
    return "reassign";
}

但是,当我使用 Eclipse 进行调试时,我的 getter 为 selectedPackages 返回了一个空值?这是为什么?我做错了什么?

【问题讨论】:

  • 我已将 selectedPackages 值从 List 更改为常规数组,但我仍然得到它为 null。
  • 下一次,请创建一个minimal reproducible example....您发布的代码没有说明您发布的解决方案,因此我们永远无法告知和/或帮助。

标签: jsf-2 primefaces datatable


【解决方案1】:

我找到了解决方案。 commandbutton 和 dataTable 需要采用相同的形式才能更新列表。

【讨论】:

    猜你喜欢
    • 2012-09-08
    • 2017-12-14
    • 2012-08-16
    • 2017-10-02
    • 2014-04-04
    • 2012-08-30
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多