アプリケーションで (Primefaces 3.5) ログアウト ボタンを次のように使用します。
<p:commandButton ajax="false" value="Logout" action="#{loginBean.logout}" />
Bean メソッドは次のようになります。
public String logout() {
ExternalContext externalContext =
FacesContext.getCurrentInstance().getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
try {
request.logout();
System.out.println("Logging out!");
return "/mylogin?faces-redirect=true";
} catch (ServletException ex) {
System.out.println("Failed to logout!");
return null;
}
}
文字列 ログアウト! 正しく印刷されますが、リダイレクトは実行されません!
ログアウト ボタンを 2 回クリックしたときにのみ、ログイン ページが再び表示されますか?
なんで?
よろしく、 G.Verhaag