2011-02-02 17 views
4

私はJava、JSF2、JPA2を学び始め、 "Pet Catalog"サンプルプロジェクトを使い始めました。私はEclipse + Glassfishを使用しています。JSFは未定義の豆を報告しません

だから私はライン以下でJSFビューページがあります。

<h:outputText value="Item #{catalog.pagingInfo.firstItem + 1} .. #{cataloTYPO.pagingInfo.lastItem} of #{catalog.pagingInfo.itemCount}"/> 

cataloTYPOが存在しないが、それは豆ではなく、クラス、何もありません。問題は、JSFが完全に満足しているように見えて、「Item 1 .. of 29」を出力すると例外が発生するか、少なくとも問題をログに記録すると思いますが、何も起こりません。

私はこの問題をGoogleにしようとしましたが、誰もそれを持っていないようです。

ありがとうございました。

EDIT:これは正常な動作ですか?

答えて

6

これはJSFに固有のものではありません。これはELに固有のものです(それらは#{}です)。それはnullsafeになるように設計されています。有効範囲内に何も表示されていない場合、つまりnullの場合、これ以上の操作は行われません。何も印刷せず、NullPointerExceptionがスローされません。これは、状況が許可されている場合に特に便利です。

とにかく例外レポートや警告レポートを作成する場合は、解決した値がnullであることがわかった場合は、自分でELResolverを書き込む必要があります。 JSF用にELResolverを実装する素晴らしい記事は、hereです。

+0

ありがとうございました。 Javaが一般的にエラーに耐えない(PHPなどと比較して)ことを考えれば、これは私にとってはまったく予想外でした。私はこの行動が生産段階には適しているが、開発段階にはあまり適していないと思う。 – Tomik

+0

ELは基本的にはそれ自身の言語である。 – BalusC

関連する問題