如何重定向到同一页面(我不知道页面;重定向是在几个页面共享的菜单中完成的)?
我试过
return "?faces-redirect=true";
在操作方法的末尾,但是我收到了一条错误消息,因为无法找到“?faces-redirect = true”的导航案例。
提前感谢您的帮助。
答案 0 :(得分:19)
您需要在结果中提供有效的视图ID,而不仅仅是查询字符串。您可以按UIViewRoot#getViewId()
获取当前视图ID。
String viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId();
return viewId + "?faces-redirect=true";
答案 1 :(得分:-1)
只需从应用程序操作返回null
或空字符串。
根据JSF2.2规范,第7.4.1节:
如果应用程序操作返回的结果是 null或为空 字符串,并且没有映射到当前视图的导航案例 identifier具有非null条件表达式,必须具有相同的视图 重新显示。