Question

En tant que partie d'un dataTable dans une page JSF de couture, une colonne nécessite la sortie d'un nom:

<h:outputText value="#{listing.staffMember.name}"/>

Le problème est que " staffMember " peut être nul sur certaines annonces, je reçois donc l'erreur:

javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$_javassist_152

Si la valeur est null, je ne veux pas que le texte soit rendu. J'ai essayé ceci:

<h:outputText value="#{listing.staffMember.name}" rendered="#{listing.staffMember != null}"/>

Mais la même erreur se produit.

Comment puis-je générer une propriété sur un objet pouvant être null?

Était-ce utile?

La solution

Vous pourriez probablement utiliser le opérateur ternaire , qui ressemblerait à quelque chose comme:

value="#{listing.staffMember != null ? listing.staffMember.name : 'None'}"

Vous pouvez également utiliser le c: if tag .

Autres conseils

Pourriez-vous essayer ceci (a toujours fonctionné pour moi):

<h:outputText value="#{listing.staffMember.name}" 
              rendered="#{not empty listing.staffMember}"/>

Vous ne savez pas quelle est la différence avec la comparaison à null.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top