Domanda

Come parte di una tabella di dati in una pagina JSF di cucitura, una colonna richiede l'output di un nome:

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

Il problema è che "staffMember" potrebbe essere nullo in alcuni elenchi, quindi viene visualizzato l'errore:

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

Se il valore è null, non voglio che venga visualizzato alcun testo. Ho provato questo:

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

Ma compare lo stesso errore.

Come posso generare una proprietà su un oggetto che può essere nullo?

È stato utile?

Soluzione

Probabilmente potresti utilizzare il operatore ternario , che assomiglierebbe a:

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

Oppure puoi utilizzare c: if tag .

Altri suggerimenti

Potresti provare questo (ha sempre funzionato per me):

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

Non sono sicuro di quale sia la differenza rispetto a null.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top