كيفية إخراج السمة سلسلة على كائن التي قد تكون لاغية

StackOverflow https://stackoverflow.com/questions/600945

  •  03-07-2019
  •  | 
  •  

سؤال

وكجزء من 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}"/>

ولست متأكدا ما هو الفرق مع مقارنة لاغية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top