3

作为接缝 JSF 页面中数据表的一部分,一列需要名称的输出:

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

问题是“staffMember”在某些列表中可能为空,所以我收到错误:

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}"/>

但同样的错误出现了。

如何在可能为空的对象上输出属性?

4

2 回答 2

5

您可能可以使用三元运算符,它看起来像:

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

或者您可以使用c:if 标签

于 2009-03-02T02:53:35.687 回答
3

你能试试这个(一直对我有用):

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

不确定与 null 相比有什么区别。

于 2009-03-08T08:30:28.760 回答