3

PrimeFaces.ajax.AjaxResponseViewExpiredException(ページのリロード)を処理するラッパーがあります:

var handleViewExpired = function (viewId) {
    window.alert('${msg.ajax.viewExpired}');
    window.location.reload();
};

ただし、サイトでAJAXリクエストを呼び出すものをクリックしようとすると、エラーが何度も発生することがあります。

javax.faces.application.ViewExpiredException: /tree.xhtmlNo saved view state could be found for the view identifier: /tree.xhtml
    at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:128)

間違った方法で更新を行っていますか?ブラウザで[再読み込み]をクリックするなど、ページ全体の再読み込みを呼び出すにはどうすればよいですか?Cookie(JSESSIONID、oam.Flash.RENDERMAP.TOKEN)を削除する必要がありますか?

WebSphere7.0で実行されているMyFaces2.0.7でPrimeFaces3.5を使用しています。

4

1 に答える 1

1

セッションで同時に開いているページ/ビュー/フレームが多数 (>15) ある場合は、次の方法が役立つ場合があります。

あなたは見る必要があります:

1. numberOfViewsInSession: 戻るボタン操作をサポートする (トップレベルの) ビュー ステート (ページ) の数を定義します。

2. numberOfLogicalViews: ページに表示できる論理ビュー (フレーム) の数を定義します (トップレベル ビューごと)。

関連性があるかどうかを確認するための簡単なアクションは、これらの数値を 500 に設定することです。関連性がある場合は、次のリンクで詳細情報を確認できます。

http://www.java.net/node/681211

numberOfViewsInSession と複数のタブの問題

于 2013-04-03T11:19:38.220 に答える