0

ビューの復元/作成フェーズの JSF 2.0 仕様 (セクション「2.2 標準要求処理ライフサイクル フェーズ」) では、次のように述べられています。

リクエストがポストバックの場合は、現在の FacesContext で setProcessingEvents(false) を呼び出します。次に ViewHandler.restoreView() を呼び出し、現在のリクエストの FacesContext インスタンスとビュー識別子を渡し、復元されたビューの UIViewRoot を返します。ViewHandler.restoreView() からの戻り値が null の場合、適切なエラー メッセージとともに ViewExpiredException をスローします。...

ViewHandler.restoreView() について話されている場合、ここでどの状態が参照されていますか? ここでサーバーコンポーネントの状態またはクライアントコンポーネントの状態?

より一般的には、クライアントとサーバーの状態をどのように区別しますか? なんらかの相互作用がある場合、JSF 2.0 はどのようにして両方の同期を維持するのでしょうか?

ウィキペディアは、クライアントとサーバーの状態の保存と復元を含む、いくつかのタイプの状態の保存を認めていますが、それらについて詳しくは説明していません。

4

1 に答える 1

1

ViewHandler.restoreView() について話されている場合、ここでどの状態が参照されていますか? ここでサーバーコンポーネントの状態またはクライアントコンポーネントの状態?

これは JSF コンポーネント ツリーなので、「クライアント コンポーネントの状態」という用語はおそらく HTML DOM ツリー (JSF による) を指しているため、「サーバー コンポーネントの状態」という用語を頭の中で定義したものがここで最も適用されると思います。レンダリング レスポンス フェーズで生成され、サーバーからクライアントに送信されます)。


より一般的には、クライアントとサーバーの状態をどのように区別しますか? なんらかの相互作用がある場合、JSF 2.0 はどのようにして両方の同期を維持するのでしょうか?

はい、HTTP リクエストです (基本的に、HTTP クライアントが HTTP サーバーと対話する方法は他にありません...)。特にjavax.faces.ViewStaterequest パラメータに注意してください。

于 2012-07-30T14:37:06.690 に答える