You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle APEX客户端实现页面间项的传递?

实现Oracle APEX页面间无服务器提交的项传递方案

下面是几种无需提交服务器就能在APEX页面间传递项值的可行方案:

1. 利用浏览器本地存储(LocalStorage/SessionStorage)

这是最常用的前端存储方案,完全在客户端完成数据传递,无需和服务器交互。

源页面操作(存值)

在源页面添加动态动作(比如按钮点击时触发),执行以下JavaScript代码:

// 存储到SessionStorage(会话级,关闭标签页即清除)
sessionStorage.setItem('transfer_item_value', $v('P1_SOURCE_ITEM'));

// 或者存储到LocalStorage(持久化,关闭浏览器仍保留)
// localStorage.setItem('transfer_item_value', $v('P1_SOURCE_ITEM'));

目标页面操作(取值)

在目标页面的"页面加载"动态动作中执行以下JavaScript代码:

var transferredValue = sessionStorage.getItem('transfer_item_value');
// 或者用localStorage.getItem('transfer_item_value');

if (transferredValue) {
    // 将值赋值给目标页面项
    $s('P2_TARGET_ITEM', transferredValue);
    // 可选:取出后删除存储的值,避免重复读取
    sessionStorage.removeItem('transfer_item_value');
}

2. 前端拼接URL参数传递

通过JavaScript手动拼接跳转URL,将页面项值作为参数附加到地址栏,目标页面解析参数后赋值给对应项。

源页面操作(跳转并传参)

给跳转按钮添加动态动作,执行以下JavaScript代码:

var itemValue = encodeURIComponent($v('P1_SOURCE_ITEM'));
// 拼接目标页面URL,替换APP_ID和目标页面编号
window.location.href = 'f?p=&APP_ID.:2:&SESSION.::NO:::' + 'P2_TARGET_ITEM:' + itemValue;

注意:encodeURIComponent用于处理特殊字符,避免URL解析错误。

目标页面操作(解析参数)

在目标页面的"页面加载"动态动作中执行以下JavaScript代码:

var urlParams = new URLSearchParams(window.location.search);
var itemValue = urlParams.get('p2_target_item'); // 参数名需小写

if (itemValue) {
    $s('P2_TARGET_ITEM', decodeURIComponent(itemValue));
}

3. 使用Oracle APEX内置客户端存储API

APEX提供了封装好的客户端存储方法,适配APEX环境,能避免和其他本地存储键冲突。

源页面操作(存值)

执行以下JavaScript代码:

// 存储到会话级客户端存储
apex.storage.session.set('transfer_key', $v('P1_SOURCE_ITEM'));

// 或者存储到持久化客户端存储
// apex.storage.local.set('transfer_key', $v('P1_SOURCE_ITEM'));

目标页面操作(取值)

执行以下JavaScript代码:

var transferredValue = apex.storage.session.get('transfer_key');

if (transferredValue) {
    $s('P2_TARGET_ITEM', transferredValue);
    // 可选:清除存储的键
    apex.storage.session.remove('transfer_key');
}

方案选择建议

  • 敏感数据优先用SessionStorage或APEX会话存储,避免URL暴露或持久化泄露
  • 非敏感、需要跨会话保留的数据用LocalStorage
  • 简单场景且不介意参数暴露的用URL参数方案

内容的提问来源于stack exchange,提问作者Merta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:20:33