JSF如何在转发到其他页面之前显示导航确认弹出窗口

时间:2014-01-07 10:41:03

标签: jsf primefaces

我在我的页面中使用了Primfaces Layout组件,当用户点击菜单链接时,我没有在导航中使用重定向。

即,我使用faces-redirect?true,用户导航时网址不会更改。

我希望在用户导航离开当前视图之前显示确认对话框,例如

  

“您确定要离开此页面吗?”

因此,一旦用户点击OK,它就会转发到其他网页,否则如果用户点击CANCEL,它应该保留在同一页面中。

还有一个限制是我希望这个功能只适用于几个选定的页面而不是全部。

解决这个问题的最佳方法是什么?

Primefaces版本:3.5
JSF版本:2.1.13
我的所有ManagedBeans都在@ViewScoped

1 个答案:

答案 0 :(得分:0)

如果您想尝试从javascript端解决此问题,请使用

window.onbeforeunload = function(e) {
    return 'Dialog text here.';
};    

并查看与单击链接无关的对话框(请参阅https://stackoverflow.com/a/12132076/1269441)。或尝试添加

onclick="if (!confirm('Your dialog-text here')) {return false;}" 

选择要显示对话框的链接。