1

本からの抜粋ですが、

ステートレス ビューの場合、コンポーネント ツリーを動的に生成/変更することはできません (たとえば、ステートレス モードでは JSTL とバインディングを使用できません)。ビューを動的に作成/操作することはできません。

私はフォームのようにステートレスになるという概念を完全に理解していloginます。

私が理解していないのは、著者のポイントです.JSTLとバインディングはステートレスモードでは利用できません. 解明してください。

4

1 に答える 1

1

著者自身が混乱しているか、少し一般化しすぎているようです。

コンポーネント ツリーは確かに動的に生成/変更できます。これは、ステートフル/ステートレス モードには依存しません。ステートフル モードとの唯一の違いは、これらの動的アクションが JSF 状態で記憶されないため、ポストバックで復元できないことです。

これらの動的変更がビューのビルド時にユーザー以外のイベント(属性@PostConstructを介して参照されるリクエスト スコープ Beanやイベント リスナー メソッドなど)によって開始された場合、ステートレス モードでは正常に動作し続けます。単純に再実行されます。ただし、メソッド ロジックが、以前のポストバック中に呼び出されたリクエスト パラメータやアクションなどのユーザー制御の変数/アクションに依存している場合、またはイベント中などに実行が遅すぎる場合、ビューが後続のポストバックのリクエスト値の適用フェーズでは、送信されるフォームのレンダリング中と同じになります。このような場合、フォーム送信の処理は、ステートフル ビューと比較して「予期せず」異なる動作をする可能性があります。bindingpostAddToViewpreRenderView

于 2016-04-15T13:35:40.993 に答える