2009-12-21 2 views
0

친구,세션 상태 보호가 작동 될 때 Oracle APEX의 트리에 수동 링크를 생성하려면 어떻게합니까?

저는 APEX에서 또 다른 도전에 직면하고 있습니다.

John & Scott의 멋진 책인 "Pro Application Express"를 사용하여 페이지 링크가 테이블에 저장되는 방법으로 트리를 만들었습니다. 아래 예가 있습니다.

go to a page passing some parameters 

f?p=&APP_ID.:3:&SESSION.::::P3_IDENTIFIER,P3_FAMILY_NAME:&P2_IDENTIFIER.,&P2_FAMILY_NAME. 

페이지가 정상적으로 실행되면 다음과 같이 작동합니다. 필요한 경우 트리를 확장하고 페이지 전달 매개 변수로 이동할 수 있습니다.

그러나 세션 상태 보호 기능을 켜면 이러한 "손으로 만든"링크가 작동하지 않습니다. 링크에 체크섬이 없기 때문에 어느 것으로 예상했는지.

몇 가지 조사를 한 후 체크섬이있는 URL을 생성하려면 APEX_UTIL.PREPARE_URL을 사용해야합니다. 불행히도 이것이 문제가되는 곳입니다. 호출 페이지에 매개 변수 값을 전달할 수없는 것 같습니다. 나는 다음이 APEX_UTIL.PREPARE_URL 사용하도록 변경

select "IDENTIFIER" id, 
"PARENT_IDENTIFIER" pid, 
"TITLE" name, 
"LINK" link, 
null a1, 
null a2 
from <some table> 

:

원래 나무 쿼리는

.... 
APEX_UTIL.PREPARE_URL('f?p='||:APP_ID||':3:'||:APP_SESSION||'::::P3_IDENTIFIER,P3_FAMILY_NAME:&P2_IDENTIFIER.,&P2_FAMILY_NAME.') link, 
... 

를이 페이지가 호출되고, 작동하고 난의 값을 볼 수 있습니다 매개 변수가 전달되었습니다. 하지만 한 페이지로 제한되므로이 방법을 사용할 수 없습니다!

마지막으로 나는 페이지 번호가, 나무가 그 다음을 기반으로하고 테이블의 다른 열에서 매개 변수 및 매개 변수 값이 둘을 데려 저장 시도 :

... 
APEX_UTIL.PREPARE_URL('f?p='||:APP_ID||':'||navigate_to_page||':'||:APP_SESSION||'::::'||parameters||':'||parameter_values) link, 
... 

Where: 

navigate to page has the value of: 3 
parameters has the value of: P3_IDENTIFIER,P3_FAMILY_NAME 
parameter_values has the values of: &P2_IDENTIFIER.,&P2_FAMILY_NAME. 

이 이제 페이지를 호출하지만 매개 변수를 값은 리터럴이되었습니다. 그래서 내가 식별자를 기대하고있는 곳에서 나는 & P2_IDENTIFIER와 성을위한 ditto를 본다.

내가 뭘 잘못하고 있니? apex_util_prepare_url을 사용하여 호출 된 페이지에 값을 전달하려면 어떻게해야합니까?

필자의 환경 세부 정보는 다음과 같습니다. Apex 3.2.1, Oracle Application Server 10.1.2.3. Oracle Database 10.2.0.3

제공 할 수있는 도움에 대해 미리 감사드립니다.

답변

1

나는 당신이 V() 함수를 사용하여 해당 변수를 해결해야합니다 생각 : 당신이 URL에 사용되고 있기 때문에 P2_FAMILY_NAME에주의해야 할 수 있습니다 보조 노트에

APEX_UTIL.PREPARE_URL('f?p='||:APP_ID 
||':'||navigate_to_page 
||':'||:APP_SESSION 
||'::::'||parameters 
||':'||v('P2_IDENTIFIER')||','||v('P2_FAMILY_NAME')) link, 

을; 사용자가 입력 한 데이터가 들어있는 일반 텍스트 필드처럼 들립니다.

+0

+1 그리고 답. Jeffrey가 도와 줘서 고마워 (다시!). 사용자가 입력 한 데이터에 대한 보조 메모에 감사드립니다. 이안 감사합니다. –

관련 문제