以前のフォーラムとインターネットからの情報から、セッションの有効期限が切れたときに login.xhtml またはログイン ページにリダイレクトされる唯一の論理的な解決策は、OmniFaces を使用することであることがわかりました。
omnifaces を使用した後、セッションの有効期限が切れたときに login.xhtml にリダイレクトされるようになりました。残念ながら、ajax=true
primefaces では、セッションの有効期限が切れたときに login.xhtml にリダイレクトできません。問題はプライムフェイスにあると思います。when のような純粋な Jsf を使用するh:commandButton
とajax=true
、セッションの有効期限が切れたときに login.xhtml にリダイレクトされる可能性があるためです。しかし、プライムフェイスを使用すると機能しませんajax=true
。以下で私が意味したことをより明確に理解できます。
<!-- It can be directed to login.xhtm after session expire -->
<h:commandButton value="throw SQL exception on ajax request"
action="#{kdsHome.openCandidateAtmSelectPanelListener}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
<!-- It can't be directed to login -->
<p:commandButton value="throw SQL exception on ajax request"
action="#{kdsHome.openCandidateAtmSelectPanelListener}"
update="@form">
</p:commandButton>