JSF 2.0、Primefaces 5.0、Spring Security 3.2.3.RELEASE アプリケーションがあります。
セッションのタイムアウトを処理するために、primefaces idleMonitor と p:dialog & javascript を使用してカウントダウン ポップアップを表示し、それらをログイン ページにリダイレクトしています。
ページがキャッシュされないように、カスタム CacheControlPhaseListener も実装しました。CacheControlPhaseListener の応答ヘッダーに no-cache を設定しました。
<lifecycle><phase-listener id="nocache">com..filter.CacheControlPhaseListener</phase-listener></lifecycle>
また、web.xml でエラー処理を構成しています。
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/error.jsf</location></error-page>
ViewHandlerWrapper を拡張する ViewExpiredHandler も実装しました
@Override
public UIViewRoot restoreView(FacesContext ctx, String viewId)
{
UIViewRoot viewRoot = super.restoreView(ctx, viewId);
try
{
if (viewRoot == null)
{
viewRoot = super.createView(ctx, viewId);
ctx.setViewRoot(viewRoot);
}
}
catch (Exception e)
{
e.printStackTrace();
}
return viewRoot;
}
私がまだ抱えている問題は次
のとおりです。 > ホーム-> 検索ページ)。パーシャル レスポンス xml エラーが表示されます。
<partial-response><changes><update id="blGridId"><table id="blGridId" style="width:100%;">
<tbody>
<tr>
<td><div id="blTableId" class="ui-datatable ui-widget ui-datatable-scrollable ui-datatable-resizable"><div id="sublTableId_paginator_top" class="ui-paginator ui-paginator-top ui-widget-header ui-corner-top" role="navigation"><span class="ui-paginator-prev ui-state-default ui-corner-all ui-state-disabled"><span class="ui-icon ui-icon-seek-prev">p</span></span><span class="ui-paginator-next ui-state-default ui-corner-all ui-state-disabled"><span class="ui-icon ui-icon-seek-next">p</span></span></div><div class="ui-widget-header ui-datatable-scrollable-header"><div class="ui-datatable-scrollable-header-box"><table role="grid"><thead id="blTableId_head"><tr role="row"><th id="blTableId:j_idt101" class="ui-state-default ui-resizable-column" role="columnheader" style="width:34px; #width:37px;"><span class="ui-column-title"><span style="word-wrap: break-word;white-space: normal;">Client </span></span></th><th id="blTableId:j_idt104" class="ui-state-default
2. ブラウザを更新すると、ページが読み込まれ、アクションを続行できます。
部分的な応答エラーを解決するには、上記に加えて何をする必要があるか教えてください。セッションを無効にするためにサーブレット フィルタを追加する必要がありますか?
これは優先度が高いため、これに関するヘルプとフィードバックをいただければ幸いです。