2012-07-13 26 views
2

我在apex報告中有一個鏈接,它將用戶帶到不同的頁面,並將一些值傳遞到新頁面。該按鈕被設置爲一個URL,因爲有被傳遞了太多的項目,但我不認爲那會怎樣都無所謂:在Apex的查詢字符串中傳遞冒號

f?p=&APP_ID.:27:&SESSION.::&DEBUG.::P27_1,P27_2,P27_3,P27_4,P27_5:0,#1#,#2#,#3#,#NULL# 

#1#等都是傳遞列。除了傳遞的數據通常包含冒號(:),它通過切斷冒號後面的新頁面項目中的所有內容(包括冒號本身)以及之後搞亂任何領域。例如:#2#中有一個冒號,所以P27_3,4和5將不會被填充值。

我試過用'%3a'(網址編碼爲冒號)手動替換冒號,但它似乎不起作用。

+0

請參閱https://forums.oracle.com/forums/thread.jspa?threadID=2383833。 – Tebbe 2012-07-13 19:20:42

+0

謝謝!我希望看看是否有一些我缺少的內置工具,但如果沒有,我想我可能會使用這種方法。 – Mike 2012-07-13 19:33:30

+0

無論如何,將參數值限制爲數字或簡單字母字符串可能是一個好主意。您實際需要傳遞給其他頁面的是什麼類型的值?另一個想法是在導航到它之前直接設置目標頁面項目的值。 – 2012-07-17 07:22:48

回答

0

嘗試使用UTL_URL.ESCAPE()來轉義URL特殊字符和UTL_URL.UNESCAPE()以使其不能迴避。

您也可以嘗試APEX_UTIL.URL_ENCODE(),但您需要使用其中一種,即UTL或APEX_UTIL。