用户填写表单后,我希望他们在完成/编辑表单之前返回到他们所在的页面。如何在xPages中的范围变量中保存当前页面?
答案 0 :(得分:3)
使用以下方式获取当前位置:(xpagescheatsheet.com)完整路径包括页面名称 facesContext.getExternalContext()。getRequest()。getRequestURI(),将其存储在sessionScope变量中,然后根据需要使用该值重定向用户。
答案 1 :(得分:2)
您是否尝试过使用内置的上一页功能?
选择按钮,转到事件选项卡并创建一个onclick事件,在下拉列表中选择openPage事件。在里面有一个“previousPage”选项作为要移动的页面。
如果您有一些自定义用例,那么为什么不在XPage上的“beforePageLoad”事件中填充范围,并且硬编码或者在自定义控件中将其从URL中删除。您将不得不将其从表单页面中删除,或者在链接/按钮移动到另一个页面的任何地方运行脚本
答案 2 :(得分:1)
在视图的afterpageLoad事件中添加以下代码:
sessionScope.put('webFrom',context.getUrl().getSiteRelativeAddress(context))
将以下代码添加到链接/按钮的onClick事件中,该事件会重定向用户:
var redirectToPage = sessionScope.get('webFrom')||'';
redirectToPage != ''? context.redirectToPage(redirectToPage):context.redirectToHome()