2012-07-25 3 views
1

J'utilise JSF avec Primefaces. Quand j'utilisePrimeFaces selectOneListBox

<h:selectOneListbox> 

tous les objets sont correctement répertoriés, mais quand je l'ai remplacé h avec p,

<p:selectOneListbox> 

rien ne fonctionne.

Où est l'erreur? J'ai listé le code ci-dessous.

<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

Votre code a fonctionné pour moi. Etes-vous sûr que l'attribut p: selectOneListbox value est lié à un String, que String a un getter/setter dans le bean backing, la valeur de selectItems est liée à une liste , qui a un getter/setter dans le bean backing et l'espace de noms en haut de la page est présent et correct pour PrimeFaces? – 8bitjunkie

+0

une chance que vous avez jquery js quelque part ajouté manuellement? – Daniel

+0

J'ai utilisé javax.faces.model.DataModel comme propriété de support pour la valeur. Pas de chaîne. Cela peut être à l'origine du problème. –

Répondre

1

La raison est que le type de la collection est utilisée DataModel, qui fonctionne très bien avec le JSF, mais pas avec PrimeFaces. Changer le type à la liste a résolu le problème.