كيفية إخراج السمة سلسلة على كائن التي قد تكون لاغية
سؤال
وكجزء من DataTable وفي صفحة التماس JSF، عمود واحد يتطلب إخراج اسم:
<h:outputText value="#{listing.staffMember.name}"/>
والمشكلة هي أن "ستافميمبير" قد تكون فارغة على بعض القوائم، حتى أحصل على الخطأ:
javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$$_javassist_152
إذا كانت القيمة فارغة، لا أريد أي نص المقدمة. حاولت هذه:
<h:outputText value="#{listing.staffMember.name}" rendered="#{listing.staffMember != null}"/>
ولكن يأتي الخطأ نفسه حتى.
وكيف يمكنني إخراج خاصية على كائن التي قد تكون لاغية؟
المحلول
وربما يمكن أن استخدام الثلاثي مشغل ، التي من شأنها أن تبدو شيئا مثل:
value="#{listing.staffMember != null ? listing.staffMember.name : 'None'}"
وأو هل يمكن استخدام ج: إذا العلامة .
نصائح أخرى
هل يمكن أن حاول هذا (عملت دائما بالنسبة لي):
<h:outputText value="#{listing.staffMember.name}"
rendered="#{not empty listing.staffMember}"/>
ولست متأكدا ما هو الفرق مع مقارنة لاغية.
لا تنتمي إلى StackOverflow