アクションコールで同じページにリダイレクトする方法を知りたいです。
私はこのコマンドボタンを持っています:
<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 はリダイレクトを送信しません。
私はプリティーフェイスを使っています。