我在其中一个页面中有“取消”按钮。 但页面可以从不同的地方打开,我的意思是父页面可以变化。
现在取消取消我需要回到确切的页面。喜欢 history.back()。
我们如何在JSF中实现它?
有人可以指导我吗?
并且history.back()直接无效。
<h:commandButton type="button" id="cancel" image="#{sessionScope.sessionObject.graphicImageFolderName}cancel_btn.gif" accesskey="#{bundle.oscer_command_cancel_accesskey}" value="Cancel" action="#{templatePrescriptionMaintenanceBackingBean.goBack}" />
在history.back的情况下,我正在制作与...相同的按钮。
<h:commandButton type="button" id="cancel" image="#{sessionScope.sessionObject.graphicImageFolderName}cancel_btn.gif" accesskey="#{bundle.oscer_command_cancel_accesskey}" value="Cancel" onclick="javascript: history.back();"/>
两种情况都有问题吗?
答案 0 :(得分:4)
尝试
<h:commandLink onclick="history.go(-1); return false;">
或者
<h:commandButton onclick="history.back(); return false;">
为你工作?
答案 1 :(得分:1)
通过Application.getNavigationHandler获取默认导航处理程序。将其包裹在reflection proxy中,并通过Application.setNavigationHandler将代理设置为新的默认导航处理程序。在代理的调用处理程序中,您可以跟踪所有导航事件及其结果,并从中构建自己的历史记录。然后使用此历史记录处理“取消”按钮的导航,方法是返回历史记录。