我正在使用h:outputText标记来显示只读数据。例如:

<h:outputText value="Phone Number:" />
<h:outputText value="#{userHandler.user.phoneNumber}" />

当“phoneNumber”为空字符串或空值时,我想显示一个破折号“-”作为值。

是否有任何简单的方法可以使用表达语言或其他方式做到这一点?

顺便说一句,我考虑过将诸如getPhoneNumberDisplayText()之类的方法添加到User类中,从而可以在内部进行检查,但是由于这是一个 View 问题,我宁愿将代码保留在JSF页面中。

最佳答案

<h:outputText value="#{userHandler.user.phoneNumber != null
    ? userHandler.user.phoneNumber : '-'}" />

或者,您可以创建一个新的outputText:
<h:outputText rendered="#{userHandler.user.phoneNumber == null}" value="-" />

10-07 23:47