我正在使用primefaces向导。在向导流程中,所有参数都正确保存但是<p:selectOneMenu>
项在提交时变为NULL。在“返回”时,它不会显示我选择的内容。同样适用于<p:selectManyMenu>
。任何解决方案?
这是代码片段。我使用的是primefaces-3.0.M3和jsf2。
<h:outputText value="Employee Status" />
<p:selectOneMenu id="employeeStatus"value="#{employeeRepositoryImpl.employeeStatus.title}">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="Permanent" itemValue="Permanent" />
<f:selectItem itemLabel="Contract" itemValue="Contract" />
<f:selectItem itemLabel="Part-Time" itemValue="Part-Time" />
<f:selectItem itemLabel="Training" itemValue="Training" />
</p:selectOneMenu>
<p:message id="employeeStatusId" for="employeeStatus" />
这是在<p:wizard>
标签中,点击下一个按钮或提交按钮时,itemValues变为null.Sorry重新发布。
答案 0 :(得分:2)
你删除了以前的帖子吗?
无论如何,首先,您应该升级到Primefaces 3.0.M4
!
其次,最好将列表与f:selectItems
一起使用,并将所有这些字符串值存储在列表中(这样你就可以更多控制而不是列表中的内容以及列表应返回的内容),但是如果你想坚持f:selectItem
,请尝试将其与封闭标签一起使用(如果没有它,可能是一个错误):
<f:selectItem itemLabel="Permanent" itemValue="Permanent" ></f:selectItem>
另外,我重复一遍,升级到Primefaces 3.0.M4!
答案 1 :(得分:1)
我通过使用primefaces AJAX
解决了这个问题<p:ajax update="employeeStatus" listener="#{employeeRepositoryImpl.employeeStatusAjax}" />
在我的</p:selectOneMenu>
内,我在employeeStatusAjax()
旁检查/处理此内容。