0

更新中(F5を押した後)にモデルポップアップが閉じます。更新後の表示方法も教えてください。私は素顔を使用しています

<p:confirmDialog  closable="false" id="sessionExpiredDlg" message="Your session expired."  
                 header="#{msgs['confirmDialog.initiatingDestroyProcess.label']}" 
                 severity="alert" widgetVar="sessionExpiredConfirmation" style="z-index: 25000">
    <p:commandButton id="confirmRouteDel" value="Ok"
                                   oncomplete="sessionExpiredConfirmation.hide()" 
                                   actionListener="#{login.logoutAction}"/>

</p:confirmDialog>
4

1 に答える 1

3

セッションの有効期限が切れたら、応答にいくつかの情報を追加する必要があります。 次に、オブジェクトでそのCookie を見つけたら、毎回
レンダリングする必要があります。ユーザーが確認ボタンを押すことを期待していたことを理解していますが、それがポップアップを通過する唯一の方法ですよね?そのため、ユーザーがボタンを押すと、Cookie がリクエストから置き換えられ (たとえば、有効期限を過去の値に変更するなど)、次のユーザー リクエストでは Cookie が来ず、アプリはそのポップアップを表示しません。 リクエストから置き換えるとは、次のような意味です。confirmDialogHttpServletRequest




Cookie

Map<String, Object> requestCookieMap =
    FacesContext.getCurrentInstance().getExternalContext().getRequestCookieMap();
Cookie sessionExpiredCookie = (Cookie) requestCookieMap.get("sessionExpired");
sessionExpiredCookie.setMaxAge(0);
于 2013-01-17T11:20:16.713 に答える