Pregunta

Como parte de una tabla de datos en una página JSF de costura, una columna requiere la salida de un nombre:

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

El problema es que " staffMember " puede ser nulo en algunos listados, así que me aparece el error:

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

Si el valor es nulo, no quiero que se muestre ningún texto. Intenté esto:

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

Pero aparece el mismo error.

¿Cómo puedo generar una propiedad en un objeto que puede ser nulo?

¿Fue útil?

Solución

Probablemente podría usar el operador ternario , que se vería algo así como:

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

O puede usar c: etiqueta si .

Otros consejos

Podrías intentar esto (siempre funcionó para mí):

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

No estoy seguro de cuál es la diferencia con respecto a nulo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top