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

时间:2012-09-25 21:28:17

标签: jsf primefaces selectonemenu

我在dataTable的页脚中有selectOneMenu,我正在尝试向支持bean提交一堆页脚项以保存它们。请参阅图像以了解。问题是当我使用commandButton提交时,它也在页脚p中:selectOneMenu和p:selectBooleanCheckbox不设置后备值,它们为空。

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&amp; 3.3

1 个答案:

答案 0 :(得分:1)

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