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 时,人脸不会发送重定向。

我用漂亮的面孔。

4

2 回答 2

5
return "pretty:"; 

几乎是你所需要的。

于 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 回答