Как вывести строковый атрибут на объект, который может быть нулевым - PullRequest
3 голосов
/ 02 марта 2009

Как часть dataTable на странице 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

Если значение равно нулю, я не хочу, чтобы какой-либо текст отображался. Я попробовал это:

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

Но появляется та же ошибка.

Как вывести свойство объекта, который может быть нулевым?

Ответы [ 2 ]

5 голосов
/ 02 марта 2009

Возможно, вы могли бы использовать троичный оператор , который бы выглядел примерно так:

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

Или вы можете использовать тег c: if .

3 голосов
/ 08 марта 2009

Не могли бы вы попробовать это (всегда работал для меня):

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

Не уверен, в чем разница с нулем.

...