作为seam JSF页面中dataTable的一部分,一列需要输出名称:
<h:outputText value="#{listing.staffMember.name}"/>
问题是“staffMember”在某些列表中可能为null,因此我收到错误:
javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$$_javassist_152
如果值为null,我不希望呈现任何文本。我试过这个:
<h:outputText value="#{listing.staffMember.name}" rendered="#{listing.staffMember != null}"/>
但同样的错误出现了。
如何在可能为null的对象上输出属性?
答案 0 :(得分:5)
你可能use the ternary operator,它看起来像是:
value="#{listing.staffMember != null ? listing.staffMember.name : 'None'}"
或者您可以使用c:if tag。
答案 1 :(得分:3)
你能尝试一下吗(总是为我工作):
<h:outputText value="#{listing.staffMember.name}"
rendered="#{not empty listing.staffMember}"/>
不确定与null相比有什么不同。