APEX重定向頁跳轉1

studywell發表於2018-06-14

APEX重定向頁跳轉

1.  介紹

本文介紹透過動態驗證,實現跳轉到不同頁面。

2.  網上參考

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

3.  根據條件跳轉頁

3.1.  建立應用程式

在APEX中建立一個應用程式,名為TESTBED

3.2.  建立頁

在新建立的應用程式TESTBED中,建立兩頁,分別名為Primary(Page 2)和Secondary (Page 3),在兩頁上隨便放點內容,以便標識。

3.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;

3.4.  建立頁項並配置選擇列表

在程式TESTBED主頁中,左側導航欄目進入“呈現“標籤欄下,右擊”Content Body”選擇“建立區域”,命名為“ Navigation”;

右擊區域“Navigation”選擇“建立頁項”,命名為”P1_DESTINATION”,型別設定為“選擇列表”,值列表-型別選擇“靜態值”,值列表-靜態值輸入:STATIC:Primary,Secondary

3.5.  建立動態操作

右擊頁項P1_DESTINATION選擇“建立動態操作”,名為“DestinationOnChange”,右擊“DestinationOnChange”選擇“建立真操作“,將屬性標識-操作修改為”提交頁“,儲存頁後執行。

4.  多條件判斷跳轉頁並傳值

4.1.  建立應用程式

在APEX中建立一個應用程式,名為TESTBED

4.2.  建立頁

在新建立的應用程式TESTBED中,建立兩頁,分別名為Primary(Page 2)和Secondary (Page 3),在兩頁上隨便放點內容,以便標識。

4.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;

4.4.  建立頁項並配置選擇列表

在程式TESTBED主頁中,左側導航欄目進入“呈現“標籤欄下,右擊”Content Body”選擇“建立區域”,命名為“ Navigation”;

右擊區域“Navigation”選擇“建立頁項”,命名為”P1_DESTINATION”,型別設定為“選擇列表”,值列表-型別選擇“靜態值”,值列表-靜態值輸入:STATIC:Primary,Secondary

4.5.  建立動態操作

右擊頁項P1_DESTINATION選擇“建立動態操作”,名為“DestinationOnChange”,右擊“DestinationOnChange”選擇“建立真操作“,將屬性標識-操作修改為”提交頁“,儲存頁後執行。

4.6.  建立文字欄位

建立文字欄位名為“P1_EMPLOYEE“,

4.7.  建立按鈕

建立按鈕,屬性:行為-操作 選擇“提交頁“

4.8.  目標頁建立文字欄位

在Primary(page2) 上建立文字欄位,命名為“ P2_EMPLOYEE“,在屬性:源-型別 選擇”PL/SQL函式體“,內容輸入

BEGIN

RETURN :P1_EMPLOYEENAME;

END;

儲存程式後執行。

4.9.  執行說明

執行後,在主頁不輸入值,將不能跳轉;輸入值後,選擇primary,將跳轉到第2頁,並傳值到第二頁顯示。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2156176/,如需轉載,請註明出處,否則將追究法律責任。

相關文章