私のページには Ajax の表示/非表示機能があります。<f:subview>
最初のページのロード中に、レンダリングされていない、または<h:panelGroup>
呼び出されていないBean メソッドがあります。Ajax を使用して再レンダリングする@form
と、関連するサブビューはレンダリングされませんが、Bean メソッドが呼び出されます。これは起こるべきことですか?(私はJSF 2.2を使用しています)
1 に答える
0
これは、上記の私のコメントによると予想される動作です。残念ながら、いくつかの醜い動作が伴います。
リストを使用するときに何かをしているオブジェクトの場合、最初のリクエストで問題なく動作します。これで何かをロードすることで予防策を講じたとしてもf:event
、次のAJAXリクエストであなたを救うことはできません。
例: リクエストのスコープで管理される各 Bean で JPA を使用し、その Bean にレンダリングされない遅延コレクションがある場合、次のようになります。
リクエスト 1: レンダリングされていないコンポーネントは変更されません。つまり、遅延コレクションは初期化されません。
リクエスト 2 (Ajax): JSF は、ロードされていない遅延コレクションを呼び出して完全なビューを復元しようとしますが、例外が発生します。
于 2013-07-26T14:03:21.777 に答える