3

アクションコールで同じページにリダイレクトする方法を知りたいです。

私はこのコマンドボタンを持っています:

<h:commandButton action="#{someBean.edit}" value="Edit" />

これはアクションです:

@Named
@RequestScoped
public class SomeBean {

    public String edit() {
        // some logic
        return "theSamePage?faces-redirect=true";
    }

}

しかし、同じページにリダイレクトされず、更新されるだけなので、F5 キーを押してページを更新しようとすると、送信が重複して発生します。これは、通常の状況では post/redirect/get で解決できます。ただし、アクション メソッドがリクエストの送信元のページの viewId と同じ viewId を返す場合、faces はリダイレクトを送信しません。

私はプリティーフェイスを使っています。

4

2 に答える 2

5
return "pretty:"; 

Is pretty much what you need.

于 2012-06-09T22:49:27.647 に答える
0

私は自分の答えを検索して書き直しました:

これを行うことで取得できるきれいな顔のビューID:

      PrettyContext prettyContext = PrettyContext.newInstance((HttpServletRequest) request); 
      String viewId = prettyContext.getCurrentCalculatedViewId();

詳細については、https: //groups.google.com/group/prettyfaces-users/browse_thread/thread/f50482709d7ec69b?pli= 1 を確認してください。

于 2012-06-09T20:24:52.297 に答える