Oracle Apex 非会话共享的跨应用页面跳转如何传递当前项值
Oracle Apex 5.1 跨应用模态页传值解决方案
以下方案全程使用Apex原生功能,仅需点选配置,无需编写复杂JavaScript,也不需要提交原页面:
前置配置(应用999 12页侧)
- 打开应用999的12页,对所有需要接收外部值的表单项,勾选属性中的允许通过URL设置值,该选项默认关闭,是跨应用传值的必要前提
- 若两个应用未共享会话,需先将两个应用的身份验证方案中「会话Cookie名称」「Cookie域名」配置为相同值,避免打开模态页时要求重新登录;如果999:12是公共页面,直接将其设置为无需身份验证即可
主配置(应用128 10页侧)
- 选中原跳转按钮,将按钮的「动作」属性修改为「由动态动作定义」,替换原有的「重定向到URL」配置(原配置的URL是页面渲染时生成的,只会携带页面加载时的初始值,因此无法取到修改后的最新值)
- 为该按钮创建点击触发的动态动作,动作类型选择原生的「打开模态页」
- 填写模态页配置:
- 目标应用填
999,目标页填12 - 在「传递项」配置区,左侧依次选择128:10上需要传值的表单项,右侧依次对应填写999:12上的接收表单项
- 无需额外修改其他参数,Apex会在点击按钮时自动读取当前页面表单项的最新值,拼接到模态页的访问URL中完成传值
- 目标应用填
常见异常排查
- 若传值为空,优先检查999:12的接收项是否开启了URL传值权限
- 若模态页弹出时要求登录,检查两个应用的会话Cookie配置是否一致,或999:12的访问权限设置是否正确
内容的提问来源于stack exchange,提问作者Syd
相关产品推荐
相关产品推荐

