1.2.2. 動作内容


フォームがサブミットされたとき、 JSF は Seam に user という名前の変数を解決するよう要求します。 その名前にはまだバインドされた値がないため (どの Seam コンテキストにも)、 Seam は user コンポーネントをインスタンス化し、結果となる User エンティティ Bean インスタンスを Seam セッションコンテキストに保管してからそれを JSF に返します。
フォームの入力値は、User エンティティで指定された Hibernate Validator 制約に対してデータ整合性検証が行われるようになります。 制約に違反していると JSF はそのページを再表示します。 これ以外は、JSF はフォームの入力値を User エンティティ Bean のプロパティにバインドします。
次に、 JSF は Seam に register という名前の変数を解決するよう要求します。 Seam は前述した JNDI パターンを使ってステートレスセッション Bean を探し、それを Seam コンポーネントとしてラップしてから返します。 次に Seam がこのコンポーネントを JSF に提示すると JSF は register() アクションリスナーメソッドを呼び出します。
Seam はメソッド呼び出しをインターセプトし、呼び出しが進む前に Seam セッションコンテキストから User エンティティをインジェクトします。
register() メソッドは入力されたユーザー名が既に存在するかどうかを調べます。 存在した場合、 エラーメッセージは FacesMessages コンポーネントでキューイングされ、 null 結果 が返されてページが再表示されることになります。FacesMessages コンポーネントはメッセージ文字列に組み込まれた JSF 式を補完し、 ビュー に JSF FacesMessage を追加します。
そのユーザー名を持つユーザーが存在しない場合、"/registered.xhtml"" 結果により registered.xhtml ページへのブラウザリダイレクトが発生します。JSF がページのレンダリングに到達すると、 Seam に user という名前の変数の解決を要求し、 Seam のセッションスコープから返される User エンティティのプロパティ値を使用します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat