Pergunta

Como parte de um dataTable em uma página de costura JSF, uma coluna exige a saída de um nome:

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

O problema é que "staffmember" pode ser nulo em algumas listas, então eu recebo o erro:

javax.el.ELException: /xxxxx.xhtml @42,67 value="#{listing.staffMember.name}": Error reading 'name' on type xxxx.model.AgentStaff_$$_javassist_152

Se o valor for nulo, eu não quero qualquer texto processado. Eu tentei isso:

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

Mas o mesmo erro vem à tona.

Como posso saída de uma propriedade em um objeto que pode ser nulo?

Foi útil?

Solução

Você provavelmente poderia usar o operador ternário, o que seria algo parecido com:

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

Ou você poderia usar o c: se tag .

Outras dicas

Você poderia tentar isso (sempre trabalhou para mim):

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

Não tenho certeza qual é a diferença com comparando a nulo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top