3

JPA(EclipseLink 2.0)とPrimefacesを使用してJSFアプリケーションを開発しています。elがnullオブジェクトのプロパティを呼び出すときにnullポイントの例外を回避する方法があるかどうかを知りたいです。私は状況を説明しました。ビルクラスがあります。Billオブジェクトを持つBillItemオブジェクトがないかそれ以上ない場合があります。各BillItemオブジェクトには、Make、Country、Manufacturerなどのオブジェクトがあります。このように、単一のJSFファイル内に請求書のいくつかのプロパティを表示しています。

"#{billControlled.bill.billItem.modal.name}"

ただし、請求書が選択されていない場合、または選択した請求書の請求書アイテムがない場合、elでアクセスするプロパティはnullになります。これを回避するには、たとえば、新しい請求書アイテムの新しいmakeなど、請求書ごとに新しいオブジェクトを作成するか、すべてのプロパティのコントローラー自体に新しいプロパティを作成します。しかし、それは非常に長い道のりであり、初歩的な感じがします。

JSFのelでこのヌルポイントの例外を回避するための良い方法はありますか?

4

2 に答える 2

5

私は解決策を得ました。すべてのelの前に、nullをチェックできます。

JSF:h:outputText; 値が空の文字列のときにダッシュを表示するにはどうすればよいですか?

<h:outputText value="#{userHandler.user.phoneNumber != null 
? userHandler.user.phoneNumber : '-'}" />

または

<h:outputText rendered="#{userHandler.user.phoneNumber ne null}"  value="#{userHandler.user.phoneNumber}" /> 
于 2012-06-23T03:19:39.317 に答える
5

解決策は、nullをチェックし(空をチェックすることもできます)、render属性で使用します。

Emptyは、Collections(emptyとnullの両方をチェック)およびnullでうまく機能します。

例えば:

<h:outputText rendered="#{not empty myBean.myData}"  value="..." /> 
于 2012-06-24T07:59:34.130 に答える