使用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中如何实现 fileupload功能,我这个怎么无效,请高人指点一下。
PrimeFaces commandButton 无法导航或更新
Primefaces commandLink有效,但commandButton无效[重复]