<p:selectonemenu>在提交/下一个</p:selectonemenu>上获取null

时间:2011-11-23 05:00:43

标签: jsf jsf-2 primefaces

我正在使用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重新发布。

2 个答案:

答案 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()旁检查/处理此内容。