一、理解替换字符
在页面模板或区域源中使用替换字符串来将字符串替换为另一个值。在设计应用程序并使用户能够编辑项时,可以使用替换字符串来传递信息。
二、使用替换字符
可以通过以下几种方式在APEX中使用替换字符串:
1.模板中可用的特殊替换字符串由数字符号 (#) 表示。
例如:#ABC#
2.使用 &ITEM.
引用页面或应用程序项。(比较常用)
-
请以全部大写字母引用页面或应用程序项。
-
在项目名称前面加上与号 (&)。
-
在项目名称后附加一个句点 (.)。
例如
在应用的共享组件-列表-导航栏-将存储过程存储的用户信息回显
&USER_ACCOUNT.
设置后效果如下图所示
或是不同页之间的传参也用这种方式实现,如下图所示:
3.使用内置替换字符串
App 开发器支持多个内置替换字符串。可以根据需要引用这些值实现特定类型的功能。
以下各节介绍这些替换字符串、何时使用它们以及当前可用的受支持的语法。请注意,绑定变量 :USER
在数据库中具有特殊含义。此外,术语直接 PL/SQL 是指可用于存储的数据库对象(如过程和函数)的 PL/SQL。
-
APEX$ROW_NUM
-
APEX$ROW_SELECTOR
-
APEX$ROW_STATUS
-
APP_ID
-
APP_ALIAS
-
APP_DATE_TIME_FORMAT
-
APP_IMAGES
-
APP_NLS_DATE_FORMAT
-
APP_NLS_TIMESTAMP_FORMAT
-
APP_NLS_TIMESTAMP_TZ_FORMAT
-
APP_IMAGES
-
APP_PAGE_ID
-
APP_SESSION
-
APP_SESSION_VISIBLE
-
APP_UNIQUE_PAGE_ID
-
APP_USER
-
AUTHENTICATED_URL_PREFIX
-
BROWSER_LANGUAGE
- CURRENT_PARENT_TAB_TEXT
-
DEBUG
-
HOME_LINK
-
IMAGE_PREFIX
-
LOGIN_URL
-
LOGOUT_URL
-
PRINTER_FRIENDLY
-
PROXY_SERVER
-
PUBLIC_URL_PREFIX
-
REQUEST
-
SCHEMA OWNER
-
SQLERRM
-
SYSDATE_YYYYMMDD
-
WORKSPACE_IMAGES
其中以最常见的APP_ID、APP_PAGE_ID为例来介绍一下用法和具体使用场景:
APP_ID
支持的引用APP_ID
语法:
标识当前正在执行的应用程序的应用程序 ID。以下是替换字符串引用的示例:
f?p=&APP_ID.:9999:&APP_SESSION.
APP_PAGE_ID
APP_PAGE_ID
是当前的应用程序 ID。例如,如果您的应用程序位于第 9999页,则结果将为 9999。在编写必须在多个应用程序中通用工作的应用程序组件时,使用此语法非常有用。
引用APP_PAGE_ID
支持的语法
以下是替换字符串引用的示例:
f?p=&APP_ID.:&APP_PAGE_ID.:&APP_SESSION.
下图是设置主页和登录url使用APP_ID替换字符
更多内容可参考官方文档:Understanding Substitution Strings (oracle.com)