0

サーバー側のカウントダウンカウンターがあります。== 0 の場合、メソッドを実行する必要ExternalContext#dispatch()がありますが、実行しませんでした。メソッドExternalContext#redirect()はこの場所で正しく機能します。

....
        }else{
        try {
            FacesContext.getCurrentInstance().getExternalContext().dispatch("result.xhtml");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
....

result,result.xhtml,\result.xhtml私は同じ結果でスペルurl(など)のいくつかの方法を試しました。

4

1 に答える 1

2

これは、JSF を別のビューにナビゲートさせる正しい方法ではありません。

アクション メソッド内にいる場合は、代わりに文字列として返す必要があります。

public String submit() {
    // ...

    return "result.xhtml";
}

または、アクション メソッドの内部にいてなく、不明な理由で十分なアクション メソッドに変更できなかった場合は、NavigationHandler#handleNavigation()代わりに を使用してください。

FacesContext context = FacesContext.getCurrentInstance();
context.getApplication().getNavigationHandler().handleNavigation(context, null, "result.xhtml");
于 2013-02-27T11:44:04.240 に答える