首页 > 数据库 > Oracle > APEX重定向页跳转1
APEX重定向页跳转
本文介绍通过动态验证,实现跳转到不同页面。
https://community.oracle.com/people/ToolTimeTabor/blog/2018/02/21/how-do-i-programmatically-redirect-to-a-different-page-within-the-application?customTheme=otn
https://community.oracle.com/people/ToolTimeTabor/blog/2018/02/27/putting-it-all-together?customTheme=otn
在APEX中创建一个应用程序,名为TESTBED
在新创建的应用程序TESTBED中,创建两页,分别名为Primary(Page 2)和Secondary (Page 3),在两页上随便放点内容,以便标识。
在应用程序TESTBED主页,在左侧导航栏目进入“处理”标签栏下,右击“处理”例表项,选择“创建分支“,名为” OnGoToDestination“;
分支类型选择“返回URL的函数(重定向)“,在PL/SQL函数体中添加如下代码,代码中涉及的页项 P1_DESTINATION .随后创建。
DECLARE
--Default The Destination To Null
urlDestination VARCHAR2(240) :=Null;
BEGIN
--If The Desired Target Is The Primary Target
IF :P1_DESTINATION = 'Primary' THEN
--Return The Link To Page 2 (TARGET_PRIMARY)
urlDestination := 'f?p=' || v('APP_ID') || ':2:' || v('SESSION');
--Else (Nested) or ElseIf Other Target (NOTE: ELSEIF is the preferred syntax, but it was generating syntax errors)
ELSE
--If The Desired Target Is The Secondary Target
IF (:P1_DESTINATION = 'Secondary') THEN
--Return The Link To Page 2 (TARGET_PRIMARY)
urlDestination := 'f?p=' || v('APP_ID') || ':3:' || v('SESSION');
END IF;
END IF;
--Return The Destination
RETURN urlDestination;
END;
在程序TESTBED主页中,左侧导航栏目进入“呈现“标签栏下,右击”Content Body”选择“创建区域”,命名为“ Navigation”;
右击区域“Navigation”选择“创建页项”,命名为”P1_DESTINATION”,类型设置为“选择列表”,值列表-类型选择“静态值”,值列表-静态值输入:STATIC:Primary,Secondary
右击页项P1_DESTINATION选择“创建动态操作”,名为“DestinationOnChange”,右击“DestinationOnChange”选择“创建真操作“,将属性标识-操作修改为”提交页“,保存页后执行。
在APEX中创建一个应用程序,名为TESTBED
在新创建的应用程序TESTBED中,创建两页,分别名为Primary(Page 2)和Secondary (Page 3),在两页上随便放点内容,以便标识。
在应用程序TESTBED主页,在左侧导航栏目进入“处理”标签栏下,右击“处理”例表项,选择“创建分支“,名为” OnGoToDestination“;
分支类型选择“返回URL的函数(重定向)“,在PL/SQL函数体中添加如下代码,代码中涉及的页项 P1_DESTINATION .随后创建。
DECLARE
--Default The Destination To Null
urlDestination VARCHAR2(240) :=Null;
BEGIN
--If The Employee Number Is Not Null
IF :P1_EMPLOYEE Is Not Null THEN
--If The Desired Target Is The Primary Target
IF :P1_DESTINATION = 'Primary' THEN
--Return The Link To Page 2 (TARGET_PRIMARY)
urlDestination := 'f?p=' || v('APP_ID') || ':2:' || v('SESSION');
--Else Go To The Secondary Page)
ELSE
--Return The Link To Page 2 (TARGET_PRIMARY)
urlDestination := 'f?p=' || v('APP_ID') || ':3:' || v('SESSION');
END IF;
END IF;
--Return The Destination
RETURN urlDestination;
END;
在程序TESTBED主页中,左侧导航栏目进入“呈现“标签栏下,右击”Content Body”选择“创建区域”,命名为“ Navigation”;
右击区域“Navigation”选择“创建页项”,命名为”P1_DESTINATION”,类型设置为“选择列表”,值列表-类型选择“静态值”,值列表-静态值输入:STATIC:Primary,Secondary
右击页项P1_DESTINATION选择“创建动态操作”,名为“DestinationOnChange”,右击“DestinationOnChange”选择“创建真操作“,将属性标识-操作修改为”提交页“,保存页后执行。
创建文本字段名为“P1_EMPLOYEE“,
创建按钮,属性:行为-操作 选择“提交页“
在Primary(page2) 上创建文本字段,命名为“ P2_EMPLOYEE“,在属性:源-类型 选择”PL/SQL函数体“,内容输入
BEGIN
RETURN :P1_EMPLOYEENAME;
END;
保存程序后运行。
运行后,在主页不输入值,将不能跳转;输入值后,选择primary,将跳转到第2页,并传值到第二页显示。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29519108/viewspace-2156176/ ,如需转载,请注明出处,否则将追究法律责任。