使用JSF导航到上一页
我使用一个支持bean,在这里我可以保存一个表单并导航到此页面使用JSF导航到上一页,jsf,omnifaces,Jsf,Omnifaces,我使用一个支持bean,在这里我可以保存一个表单并导航到此页面 public String saveHere() { return Faces.getViewId() + "?faces-redirect=true&includeViewParams=true"; } 如何使用OmniFaces导航到上一页? 我的保存操作应该会导致我有“编辑”按钮的页面。 通常为列表视图(每个项目旁边都有编辑按钮) 或另一页(带有此项目的编辑按钮) 谢谢 您需要从某处导航的页面id。乍一看,将
public String saveHere() {
return Faces.getViewId() + "?faces-redirect=true&includeViewParams=true";
}
如何使用OmniFaces导航到上一页?
我的保存操作应该会导致我有“编辑”按钮的页面。
通常为列表视图(每个项目旁边都有编辑按钮)
或另一页(带有此项目的编辑按钮)
谢谢 您需要从某处导航的页面id。乍一看,将它保持在会话中似乎是个好主意,但是,如果您在多选项卡中导航(通过不同的浏览器选项卡共享相同的Http会话),这可能会保留在coflict中 话虽如此,对于您的案例来说,最合适的解决方案是将视图参数传递给您的edition视图,告知您来自何处。这应该很容易做到:
<h:button outcome="edit" value="Edit registry">
<f:param name="pageFrom" value="#{view.viewId}" />
</h:button>
这是实现你要求的最直接的方法。但是,您必须考虑到您来自的页面仍然是一个视图参数,以便最终用户可以在那里键入他想要的内容。通过这种行为,他可以实现重定向到其他页面,而不是预期的页面。如果要避免这种情况,请使用而不是查看参数
另请参见:
<f:metadata>
<f:viewParam name="pageFrom" value="#{editBean.pageFrom}" />
</f:metadata>
public String saveHere() {
//save here
return pageFrom + "?faces-redirect=true&includeViewParams=true";
}