0

在我的用户完成表单后,我希望他们返回到他们在完成/编辑表单之前所在的页面。如何将当前页面保存在 xPages 的范围变量中?

4

3 回答 3

3

使用以下方法获取当前位置:(xpagescheatsheet.com) 完整路径,包括页面名称 facesContext.getExternalContext().getRequest().getRequestURI(),将其存储在 sessionScope 变量中,然后根据需要使用该值重定向用户。

于 2012-06-05T16:04:17.323 回答
2

您是否尝试过使用内置的上一页功能?

选择按钮,转到事件选项卡并创建一个 onclick 事件,在下拉列表中选择 openPage 事件。里面有一个“previousPage”选项作为要移动到的页面。

如果您有一些自定义用例,那么为什么不在 XPage 上的“beforePageLoad”事件中填充一个范围并对其进行硬编码,或者在自定义控件中从 URL 中找出它。您必须将其保留在表单页面之外,否则在任何有链接/按钮移动到另一个页面的地方运行脚本

于 2012-06-05T14:23:19.327 回答
1

在视图的 afterpageLoad 事件中添加以下代码:

sessionScope.put('webFrom',context.getUrl().getSiteRelativeAddress(context))

将以下代码添加到链接/按钮的 onClick 事件中,以重定向用户:

var redirectToPage = sessionScope.get('webFrom')||'';
redirectToPage != ''? context.redirectToPage(redirectToPage):context.redirectToHome()
于 2012-06-05T17:31:27.933 回答