在JSF中取消按钮导航

时间:2012-04-02 07:15:48

标签: java jsf navigation

我在其中一个页面中有“取消”按钮。 但页面可以从不同的地方打开,我的意思是父页面可以变化。

现在取消取消我需要回到确切的页面。喜欢 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();"/>

两种情况都有问题吗?

2 个答案:

答案 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将代理设置为新的默认导航处理程序。在代理的调用处理程序中,您可以跟踪所有导航事件及其结果,并从中构建自己的历史记录。然后使用此历史记录处理“取消”按钮的导航,方法是返回历史记录。