Wie die Ausgabe-Attribut eine Zeichenfolge auf ein Objekt, das null sein kann
Frage
Im Rahmen einer Datatable in einer Naht JSF-Seite, eine Spalte erfordert die Ausgabe eines Namen:
<h:outputText value="#{listing.staffMember.name}"/>
Das Problem ist, dass "Staffmember" auf einigen Listings null sein kann, so dass ich den Fehler:
javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$$_javassist_152
Wenn der Wert null ist, will ich keinen Text gemacht. Ich versuchte dies:
<h:outputText value="#{listing.staffMember.name}" rendered="#{listing.staffMember != null}"/>
Aber der gleiche Fehler aufkommt.
Wie kann ich Ausgang eine Eigenschaft auf ein Objekt, das null sein kann?
Lösung
Sie könnten wahrscheinlich verwenden die ternärer Operator , die so etwas wie aussehen:
value="#{listing.staffMember != null ? listing.staffMember.name : 'None'}"
Oder Sie könnten die c: if-Tag .
Andere Tipps
Könnten Sie versuchen, diese (immer für mich gearbeitet):
<h:outputText value="#{listing.staffMember.name}"
rendered="#{not empty listing.staffMember}"/>
Nicht sicher, was der Unterschied im Vergleich zu null ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow