1

おそらく(クールな)FacesContextを介して、カスタムイベントを送受信できるようにManagedBeanを互いに分離する方法はありますか?! 直接的な依存関係を減らすために、Bean を ManagedProperty として注入したくありません。残念ながら、 @ListenerFor とそのすべての新しい機能は、コンポーネントとレンダラーに対してのみ機能し、完全に間違ったアプローチのようです。

Adobe Flex のイベント メカニズムに精通している人は、私が何を意味し、標準化された Web UI フレームワークに何を期待するかを理解しています。

別のフレームワークを実装する必要なく、JSF 仕様に含まれているエレガントな方法を教えてください。

4

1 に答える 1

1

おそらく(クールな)FacesContextを介して、カスタムイベントを送受信できるようにManagedBeanを互いに分離する方法はありますか?!

イベントをコンポーネントに追加しないわけにはいかず、JSF ライフサイクルのイベント フェーズの前に追加する必要があります。

直接的な依存関係を減らすために、Bean を ManagedProperty として注入したくありません

Bean に必要な依存関係を注入していないからといって、イベント駆動型モデルを使用しようとしている場合に、それらの依存関係が存在しないという意味ではありません。少なくとも依存関係を注入することにより、マネージド Bean が依存するものを明示的に宣言します。これは、あなたが提案しているものよりもはるかに保守可能なソリューションのようです。

Adobe Flex のイベント メカニズムに精通している人は、私が何を意味し、標準化された Web UI フレームワークに何を期待するかを理解しています。

Web アプリケーション フレームワークでデスクトップ ベースのイベント ドリブン モデルを期待しますか? これはりんごからみかんです。Adobe Flex は、外部 Web サービスと通信しながらデスクトップ アプリケーションのように動作するリッチ インターネット アプリケーションです。JSF は、再利用可能なサーバー コンポーネントと、コンポーネントのイベント フェーズを含むサーバー ライフサイクルを備えた、javascript と ajax を利用した Web ベース コンポーネントの Web アプリケーション フレームワーク標準です。

別のフレームワークを実装する必要なく、JSF 仕様に含まれているエレガントな方法を教えてください。

あなたの言葉遣いは、あなたが JSF をエレガントだとは思っておらず、そうでないものにしようと積極的に試みていることを暗示しています。これを行わないでください。あなた自身とアプリケーションを維持しなければならない人に悪夢をもたらします。

JSF では、Web アプリケーション開発について、これまでとは異なる考え方が必要です。これほど口に合わないと感じた場合は、使い心地のレベルに合った Web アプリケーション フレームワークに切り替えることをお勧めします。Flex とおっしゃいましたが、Silverlight with .NET もあります。

于 2012-03-07T20:51:58.827 に答える