2012-07-25 46 views
1

我使用JSF和Primefaces。当我使用PrimeFaces selectOneListBox

<h:selectOneListbox> 

所有对象都正确列出,但是当我换成P H,

<p:selectOneListbox> 

没有什么作品。

错误在哪里?我列出了下面的代码。

<p:selectOneListbox id="cmbProvince1" value="#{mohController.current.superArea}" disabled="#{mohController.modifyControlDisable}" style="size:5;height: 200px;"> 
    <f:selectItems value="#{mohController.dpdhsAreas}" var="p" itemValue="#{p}" itemLabel="#{p.name}" /> 
</p:selectOneListbox> 

<h:selectOneListbox id="cmbProvince" value="#{mohController.current.superArea}" disabled="#{mohController.modifyControlDisable}" style="size:5;height: 200px;"> 
    <f:selectItems value="#{mohController.dpdhsAreas}" var="p" itemValue="#{p}" itemLabel="#{p.name}" /> 
</h:selectOneListbox> 
+0

你的代码为我工作。您确定p:selectOneListbox值属性绑定到String,该String在后台bean中有一个getter/setter,selectItems的值绑定到列表,后者在后台bean中有一个getter/setter并且页面顶部的名称空间是否存在并且对于PrimeFaces是否正确? – 8bitjunkie 2012-07-25 09:00:11

+0

任何机会,你有jQuery js某处手动添加? – Daniel 2012-07-25 09:58:06

+0

我已经使用javax.faces.model.DataModel作为值的支持属性。不是字符串。这可能会导致问题。 – 2012-07-27 03:31:44

回答

1

原因是所用集合的类型是DataModel,它与JSF一起工作正常,但与PrimeFaces无关。将类型更改为List可解决问题。