使用commandButton Primefaces 3.4从dataTable内部提交表单时selectOneMenu null

Posted

技术标签:

【中文标题】使用commandButton Primefaces 3.4从dataTable内部提交表单时selectOneMenu null【英文标题】:selectOneMenu null when submit form from inside dataTable with commandButton Primefaces 3.4 【发布时间】:2012-09-25 21:28:16 【问题描述】:

我在 dataTable 的页脚中有 selectOneMenu,我正在尝试将一堆页脚项目提交给支持 bean 以保存它们。请查看图片以了解。问题是当我使用同样位于页脚 p:selectOneMenu 和 p:selectBooleanCheckbox 中的 commandButton 提交时,它们没有在 backing 中设置值并且它们为空。

http://code.google.com/p/primefaces/issues/detail?id=4681

请同时查看附件图片。

提前致谢

这是我的 facelet 中的代码:

                    <p:dataTable id="dataTable" value="#dataRoleBackingBean.dataRoleList" var="dataRoleOb">
                        <p:column headerText="Security Group">
                                #dataRoleOb.secGroupName
                                <f:facet name="footer">
                                    <p:selectOneMenu id="tableSecGroupID" value="#dataRoleBackingBean.tableSecGroupID" style="width:90px">
                                            <f:selectItems value="#dataRoleBackingBean.securityGroupList" var="secGroup" itemLabel="#secGroup.shortName"
                                                itemValue="#secGroup.secGroupId" />
                                    </p:selectOneMenu>
                                </f:facet>
                        </p:column>

                        <p:column headerText="Remove">

                                <f:facet name="footer">
                                    <p:commandButton value="Add" update="@form" action="#dataRoleBackingBean.addRow"/>
                                </f:facet>

                        </p:column>

                    </p:dataTable>

只是让您知道相同的代码适用于 primefaces 3.3.1 和 3.3

【问题讨论】:

提供更多与你的源代码相关的细节..... 【参考方案1】:

从 3.3.1 迁移到 3.4 时,我遇到了同样的问题。我试过使用 3.4.1,这也发生了。 只需添加一件事,仅当 DataTable 已经有一行时才会发生这种情况。如果 DataTable 为空,则不会发生。 调试时,属性的 setter 会被调用两次,第一次是正确的值,第二次是空值。

【讨论】:

以上是关于使用commandButton Primefaces 3.4从dataTable内部提交表单时selectOneMenu null的主要内容,如果未能解决你的问题,请参考以下文章

Primeface确认Dialog可访问性

primeface中如何实现 fileupload功能,我这个怎么无效,请高人指点一下。

PrimeFaces commandButton 无法导航或更新

Primefaces commandLink有效,但commandButton无效[重复]

在使用 p:commandButton 导航时调用 f:viewAction 中的操作

动态生成 ice:commandButton 组件