新しい apex 5 リリースを使用すると、次の問題が発生します。
plsql を介してページ アイテムの値を取得できません:
nv(:P2_TO, :P2_FROM) <<< DOESN'T WORK *I Yes P@_FROM exist and verified
nv(:P2_TO, 'test') <<< DOES WORK
これを apex.oracle.com と自分のホストの両方で試しましたが、どちらも機能しません。
いくつかの詳細情報:
新しい apex 5 リリースを使用すると、次の問題が発生します。
plsql を介してページ アイテムの値を取得できません:
nv(:P2_TO, :P2_FROM) <<< DOESN'T WORK *I Yes P@_FROM exist and verified
nv(:P2_TO, 'test') <<< DOES WORK
これを apex.oracle.com と自分のホストの両方で試しましたが、どちらも機能しません。
いくつかの詳細情報:
それはかなり論理的です。変数のセッション状態を参照していますが、おそらく空です。セッション状態で値が設定されているのは、ブラウザーのページに項目P2_TO
または値があるからではありません。P2_FROM
たとえば、ページをロードし、 に値を入力しますP2_FROM
。次に、開発者ツールバーの [セッション] をクリックすると、 に値がないことがわかりますP2_FROM
。
セッション状態の値は、実際の Web ページの値と異なる場合があります。
これが、データベースと通信する必要があるアクション (つまり、Web サーバーへの ajax 要求の実行) を伴う追加のプロパティ "送信するページ項目" が存在する正確な理由です。これにより、実際にその値を使用できるように、値をサーバーに送信する必要があるアイテムを定義できます。
したがって、このタイプのアクションでは、「送信するページ項目」のリストに追加しますP2_TO
。
常に apex util を使用できます。
APEX_UTIL.set_session_state(p_name => 'PX_MY_ITEM', p_value => 'wibble');
例 1
APEX_UTIL.set_session_state('P1_MY_ITEM','My Text Value');
例 2
APEX_UTIL.set_session_state('P1_MY_OTHER_ITEM', 42);
例 3
APEX_UTIL.set_session_state('P1_MY_OTHER_OTHER_ITEM', MY_PLSQL_VARIABLE);