2011-11-14 13 views
1

JSF 2.0はBean Validation(JSR 303)とその独自のValidation frameworkを提供していますが、どちらを選択するかはわかりません。JSF 2.0にはBean検証(JSR 303)と独自の検証フレームワークがあります

JSFの検証フレームワークでは、XHTMLビューレイヤで制約を指定しているようです。すなわち最大長さである。 Bean検証を使用している間、私はBean内の注釈(@)を介して制約を指定します。

JSF検証フレームワークは、プラグイン可能な試みのほうが多く、Beanの検証JSRは洗練されたソリューションですが、誰でもこれについてコメントできますか?

他の人が1つを使用していたかどうか、またその理由を確認することができます。

答えて

3

まず、Bean検証はであり、JSFのではありません。これはJSFの一部でもあるJava EEの一部です。 Bean検証は、JSF以外のアプリケーションでも使用できます。 Bean検証は、検証フレームワークにJava EE標準を提供するように設計されています。

これらの検証方法の主な機能の違いは、JSF自身の検証がビュー・レベルで制御され、そのBean検証がモデル・レベルで制御されることです。さらに、技術的な違いがあります。Bean検証は、すべてのコンテナのボックスから必ずしもサポートされているわけではありません。 Tomcatのようなシンプルなサーブレットコンテナは、それをサポートしていません。 Bean Validation API/implにwebappを自分で供給する必要があります。

制御権のないモデルを使用している場合、Bean検証を利用するために別のモデルにラップするか、JSFビューで検証を定義するかを決定する必要があります。どちらを選択するかは、機能的および技術的な要件によって異なります。両方とも同等に機能します。

完全制御が可能でモデルがJSF以外のビューで再利用され、検証制約がデータベースのデータモデルに完全に依存するモデルを使用している場合、Bean検証はJSF独自の検証よりも優れたオプションです検証制約上のコードの繰り返しを最小限に抑えます。

0

モデルのBean検証は、プロジェクトの拡張性を促進したい場合(例えば、CRUD操作の場合など)、エンティティサービスの一部を外部に公開する場合など、より意味があります。

関連する問題