0

アプリケーションで (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

4

1 に答える 1

0

return ステートメントを次のように変更します。

return "mylogin?faces-redirect=true."

スラッシュを取り除きます。

于 2013-11-05T13:18:51.043 に答える