9.1.3 データフォーム転送

データフォーム転送機能を使用すると,入力操作またはドラッグ&ドロップを使用しないでクライアントサイドでのポートレット間データ通信ができます。

データフォーム転送機能には,次の二つの方法があります。

<この項の構成>
(1) 補助ウィンドウを使用する方法
(2) ボタンを使用する方法

(1) 補助ウィンドウを使用する方法

補助ウィンドウを使用する方法とは,入力項目が表示されている補助ウィンドウから入力項目を選択する方法です。入力項目が表示されている補助ウィンドウを開き,入力項目を選択したあと[OK]ボタンをクリックすることにより,補助ウィンドウで選択した入力項目のデータを入力フォームに出力します。

補助ウィンドウを使用する方法を実現するための前提条件を次に示します。

補助ウィンドウを使用する方法の場合,ペーストイベントハンドラおよびコピーイベントハンドラは,[OK]ボタンをクリックしたときに呼ばれます。

なお,ドラッグ&ドロップする際のデータの保管場所には,クライアントPCのuserData領域,またはポータルクリップボードウィンドウを使用します。userData領域およびポータルクリップボードウィンドウの詳細は,「9.1.5 データ保管領域」を参照してください。

補助ウィンドウを使用する方法の実現方法を次に示します。

補助ウィンドウを使用する方法の概念を次の図に示します。

図9-2 補助ウィンドウを使用する方法の概念(データフォーム転送)

[図データ]

図の説明
  1. メイン画面表示
  2. [宛先]ボタンをクリック
  3. 補助ウィンドウを表示
    補助ウィンドウが表示されます。URLのクエリ部分に,実行するペーストイベントハンドラの名称を指定します。クエリ内のペーストハンドラを認識するキー名称は,「hptl.pasteHandler」です。
    ポータルクリップボードウィンドウだけを使用する方式の場合,ポータルクリップボードウィンドウを開きます。
  4. 項目を選択
    データ転送の対象となる項目を選択します。データ転送の対象となる項目を選択していない場合は,データを転送できません。
  5. [OK]ボタンをクリック
    4.で選択した項目に対応するシリアライズされた文字列を「コピーイベントハンドラ」でデシリアライズし,userData領域またはポータルクリップボードウィンドウにコピーします。
    userData領域に格納するデータを再シリアライズします。シリアライズ後のデータが,PortalResources.propertiesファイルのjp.co.hitachi.soft.portal.csdc.datasize.threshold項目に指定されている値を超えているかどうかによって次のようになります。PortalResources.propertiesファイルの詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「PortalResources.propertiesの詳細」の説明を参照してください。
    <指定値以内の場合>
    userData領域にデータを格納します。
    <指定値を超えている場合>
    処理を続行するかどうかを示すダイアログボックスが表示されます。
    処理を続行するときは,ポータルクリップボードウィンドウを開き,ポータルクリップボードウィンドウにデータを格納します。
    処理を中止するときは終了します。
    URLのクエリ部分から「hptl.pasteHandler」のキー値を取得します。これを実行するペーストイベントハンドラとします。
    ペーストイベントハンドラを実行し,userData領域またはポータルクリップボードウィンドウから取得したデータを入力フォームに反映します。
    ポータルクリップボードウィンドウが開かれている場合,ポータルクリップボードウィンドウを閉じます。

(2) ボタンを使用する方法

ボタンを使用する方法とは,入力項目を選択して[コピー]ボタンをクリックし,データ転送先で[貼り付け]ボタンをクリックすることにより選択した入力項目のデータを入力フォームに入力する方法です。

ボタンを使用する方法を実現するための前提条件を次に示します。

なお,ドラッグ&ドロップする際のデータの保管場所には,クライアントPCのuserData領域,またはポータルクリップボードウィンドウを使用します。userData領域およびポータルクリップボードウィンドウの詳細は,「9.1.5 データ保管領域」を参照してください。

ボタンを使用する方法の概念を次の図に示します。

図9-3 ボタンを使用する方法の概念(データフォーム転送)

[図データ]

図の説明
  1. 画面表示
    Javaオブジェクトがシリアライズされ,HTMLに格納されます。
    ポータルクリップボードウィンドウだけを使用する方式の場合,ポータルクリップボードウィンドウを開きます。
  2. 項目を選択
    データ転送の対象となる項目を選択します。データ転送の対象となる項目を選択していない場合は,データを転送できません。
  3. [コピー]ボタンをクリック
    2.で選択された項目に対応するシリアライズされた文字列を「コピーイベントハンドラ」でデシリアライズし,userData領域またはポータルクリップボードウィンドウにコピーします。
    userData領域に格納するデータを再シリアライズします。シリアライズ後のデータが,PortalResources.propertiesファイルのjp.co.hitachi.soft.portal.csdc.datasize.threshold項目に指定されている値を超えているかどうかによって次のようになります。PortalResources.propertiesファイルの詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「PortalResources.propertiesの詳細」の説明を参照してください。
    <指定値以内の場合>
    userData領域にデータを格納します。
    <指定値を超えている場合>
    処理を続行するかどうかを示すダイアログボックスが表示されます。
    処理を続行するときは,ポータルクリップボードウィンドウを開き,ポータルクリップボードウィンドウにデータを格納します。
    処理を中止するときは終了します。
  4. [貼り付け]ボタンをクリック
    userData領域またはポータルクリップボードウィンドウから取得したデータを「ペーストイベントハンドラ」で,入力フォームに反映します。
    ポータルクリップボードウィンドウが開かれている場合,ポータルクリップボードウィンドウを閉じます。