2017-09-21 1 views
0

J'utilise PrimeFaces v5.3. lorsque vous utilisez le rendu attribut pour p:treeNode comme indiqué ci-dessous,Attribut de rendu pour p: treeNode ne fonctionne pas

<p:treeNode type="data" icon="fa fa-cloud" rendered="#{node.state == 'live'}"> 
    <h:outputText value=" #{node.name}" title="#{node.state}" style="white-space: normal;float: left;"/> 
</p:treeNode> 

Propriété introuvable exception est levée,

Caused by: javax.el.PropertyNotFoundException: Property 'state' not found on type java.lang.String 

Toutefois, si je supprime l'attribut rendu seul, il fonctionne très bien, il semble que mon objet est considéré comme java.lang.String par EL, aucune idée ???

+0

'ne fonctionne pas' n'est pas la meilleure chose à mettre dans un titre. Si je vois un titre comme celui-là, ma première impression est que l'affiche passe peu de temps à écrire une bonne question, car «ne pas travailler» est une déclaration d'un utilisateur final, pas un développeur. Depuis et si vous postez quelque chose qui ne fonctionne pas, postez un [mcve]. Les deux choses, un bon titre et un mcve sont mentionnés dans [ask]. Pouvez-vous améliorer votre question? – Kukeltje

+0

qu'est ce que 'node' (où le définissez-vous, quel type)? Aussi, utilisez 'eq' pour la comparaison au lieu de' == ' –

+0

@ jp-jee: Si OP crée un [mcve] tout ce qui deviendra visible (y compris d'autres choses probablement pertinentes qui ne sont pas mentionnées/demandées) ... Donc est toujours préférable de demander simplement un [mcve] – Kukeltje

Répondre

0

Il n'y a pas une node.state en TreeNode (voir ici https://www.primefaces.org/docs/api/6.0/org/primefaces/model/TreeNode.html)

Utilisez quelque chose comme: node.selectable, node.type, node.contains ("quelque chose")

+0

Vous semblez dire que la variable 'node' contient un objet TreeNode. Selon les docs, ce n'est pas le cas. Il contient les ** données ** du TreeNode (page 544 des documents 6.1: _Nom de la variable portée par la requête qui sera utilisée pour se référer à chaque date ** date **) pour se référer à chaque donnée.) – Kukeltje

+0

Je suis habitué à gérer un nœud en tant que chaîne. Regardez ceci:

+0

Oui, mais OP n'est probablement pas (et je le suis) ... Vous ** pouvez ** mettre des objets 'complexes' dans le champ de données. – Kukeltje