这里我尝试使用 ADF 应用程序来支持书签。
以下是我创建示例应用程序的步骤。
- 创建了一个有界任务流(user-details.xml),它具有“方法调用”作为默认活动以及另一个视图活动(userData.jsff 页面)。
- 此任务流采用输入参数“Id”来显示用户详细信息。在方法调用活动中,将使用给定的输入参数初始化用户数据,然后使用 userData.jsff 页面显示数据。
- 在 adfc-config.xml 文件中创建了一个视图活动(details.jspx 页面)。
- 通过将“Bookmark 属性更改为 true”并给定书签 URL 参数“Name is Id and Value is #{pageFlowScope.user_id}”,将“details.jspx”文件标记为可书签。
- 将有界任务流 user-details.xml 作为一个区域放入 details.jspx 文件中。
- 现在作为 URL 参数的 user_id 将被传递给 user-details.xml 任务流输入参数值。
- 创建了将所有用户列为主页的 users.jspx 页面。在 users.jspx 页面中,我们将有一个指向带有参数 Id 的用户详细信息页面的链接。
通过运行应用程序将获得用户页面。当我单击用户页面中的用户详细信息链接时,应用程序按预期显示用户详细信息页面。
现在我为用户详细信息页面添加了书签。如果我在同一个选项卡中打开书签页面,它工作正常。但是,当我在新选项卡中打开此书签时,会收到“错误 403--Forbidden”响应。书签 URL: localhost:7101/BookmarkTestApp-ViewController-context-root/faces/user_details?id=123&_afrWindowMode=0&_afrLoop=4884151149818&_adf.ctrl-state=35yghmx4f_18 当我在另一个选项卡中单击上述书签时,URL 正在处理几秒钟( 2到 3 秒)并转换为 localhost:7101/BookmarkTestApp-ViewController-context-root/ 并给出 403 响应。此时它根本没有触及我的 bean(通过在调试模式下运行服务器来验证这一点)。
我在这里有什么遗漏吗。
提前致谢。
-戈帕尔。