3

シームJSFページのdataTableの一部として、1つの列に名前の出力が必要です。

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

問題は、一部のリストで「staffMember」がnullになる可能性があるため、次のエラーが発生することです。

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

値がnullの場合、テキストはレンダリングされません。私はこれを試しました:

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

しかし、同じエラーが発生します。

nullの可能性があるオブジェクトのプロパティを出力するにはどうすればよいですか?

4

2 に答える 2

5

おそらく、次のような三項演算子を使用できます。

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

または、 c:if タグを使用することもできます。

于 2009-03-02T02:53:35.687 に答える
3

これを試していただけませんか(常に私のために働いています):

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

nullと比較した場合の違いがわかりません。

于 2009-03-08T08:30:28.760 に答える