14.11.3 タグライブラリの説明

<この項の構成>
(1) csdc:body
(2) csdc:dest
(3) csdc:dragicon
(4) csdc:oncopy
(5) csdc:onpaste
(6) csdc:serializeJ2H
(7) csdc:src
(8) csdc:use

(1) csdc:body

機能
コピー元およびコピー先のHTML構成を定義します。<csdc:src>および<csdc:dest>の子要素として利用できます。
構文
<csdc:src>の子要素の場合

<csdc:body>
   コピー元のHTML構成定義
   <csdc:dragicon />
   コピー元のHTML構成定義
   <csdc:serializeJ2H />
</csdc:body>

<csdc:dest>の子要素の場合

<csdc:body>
   コピー先のHTML構成定義
   <csdc:dragicon />
   コピー先のHTML構成定義
   <csdc:serializeJ2H />
</csdc:body>

属性
なし
HTML変換規則
<csdc:src>の子要素の場合
<csdc:body>タグ内に記述された内容が表示されます。
<csdc:dest>の子要素の場合
1. ドラッグ&ドロップの場合
  • nodetype == blockの場合

 <div ondrop="hptl_onpaste(‘(I)’,(II),(III))"
 ondragenter="cancelDefault('(I)')" ondragover="cancelDefault(‘(I)')">
 <csdc:body>タグ内に記述された内容が表示される。
 </div>

  • nodetype == inlineの場合

 <span ondrop="hptl_onpaste(‘(I)’,(II),(III))"
 ondragenter="cancelDefault('(I)')"
 ondragover="cancelDefault(‘(I)')">
 <csdc:body>タグ内に記述された内容が表示される。
 </span>

 (凡例)
   (I):<csdc:dest>タグのdatatype属性に指定した値
   (II):ペーストイベントハンドラ名称
   (III):ペーストハンドラに渡すオブジェクト
2. データフォーム転送の場合
 <csdc:body>タグ内に記述された内容が表示されます。

(2) csdc:dest

機能
データ転送先オブジェクトを定義します。
構文
属性を定義する順序は任意です。

<csdc:dest datatype="data type" nodetype="{block|inline}">
   <csdc:onpaste> // 子要素
   <csdc:body>    // 子要素
</csdc:dest>

属性
属性説明必須/任意JSPスクリプトレット式評価
datatypeString・この属性には,単一の文字列だけ指定できます。
・定義フォーマットを次に示します。
ネームスペース名.通信データオブジェクト名称
・ネームスペース名がJavaクラスライブラリ名と同じ場合は,ドメインの文字列を反転させたものを記述します。
必須
nodetypeString<csdc:body>のHTMLタグの要素を指定します(ブロックレベル要素またはインライン要素)。必須
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
<csdc:dest>タグ内に記述された内容が表示されます。

(3) csdc:dragicon

機能
ドラッグ用のアイコン(img要素)を出力します。<csdc:src>の<csdc:body>の子要素としてだけ利用できます。
構文
属性を定義する順序は任意です。

<csdc:dragicon [type="ポートレット任意の文字列"] [src="path to icon"]
[desc="アイコンの説明"] hid="任意文字列" escape="single-quote | double-quote"
[hclass="ドラッグ用のアイコン(img要素)のclass属性"]
[align="ドラッグ用のアイコン(img要素)のalign属性"]>

属性
属性説明必須/任意JSPスクリプトレット式評価
descStringアイコンの説明を記述します。HTMLでは,ツールチップとして出力されます。任意
escapeStringこのタグライブラリが出力するHTMLの文字列の文字列囲み文字「”」,「’」を,ポートレットで制御したい場合に指定します。省略した場合は,「single-quote」が指定されます。通常は指定しないでください。
  • single-quote:文字列囲み文字「’」を利用して出力する場合に指定します。
  • double-quote:文字列囲み文字「”」を利用して出力する場合に指定します。
任意
hclassStringアイコンのスタイルシートのクラスを指定するためのclass属性を指定します。任意
hidStringドラッグ&ドロップに使用するアイコンを,ポートレットで一意に識別したい場合に付け加えるIDです。通常は指定しないでください。任意
srcStringユーザが定義したアイコンのURLを指定します。省略した場合は,「item.gif」を表示します。「item.gif」のドラッグ用アイコンについては,「図9-1ドラッグ&ドロップ機能の概要」に示す「ドラッグ用アイコン」を参照してください。任意
alignStringアイコンの表示位置を指定するためのalign属性を指定します。任意
typeString
  • ポートレットごとの組み込み型を指定します。(例:people)
  • この属性は,src属性で指定するアイコンがどのような種別であるかを示すコメントの役割を果たします。
  • この属性に定義された文字列は,このタグライブラリから参照されることはないため,不正な種別文字列が定義されていてもエラーにはなりません。
任意
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
<csdc:dragicon>のHTML変換規則を次に示します。

表14-12 <csdc:dragicon>のHTML変換規則

変換前/後変換規則
変換前

<csdc:dragicon type="people" hid=”0” src=”http://○○○/×××/people.gif” desc=”人の情報です” />

変換後

<img id=”1” src=”http://○○○/×××/people.gif" alt=”人の情報です” ondragstart="hptl_oncopy('1.',2.,3.)" >

(凡例)
1.:<csdc:src>のname属性に指定した値
2.:コピーイベントハンドラ名称
3.:イベント対象オブジェクト(this)

注※ 変換前の属性の定義順に関係なく,表中の順序で属性は表示されます。


(4) csdc:oncopy

機能
コピーイベントハンドラを作成します。<csdc:src>の子要素としてだけ利用できます。
構文

<csdc:oncopy [name="function name"]>
   コピーイベントハンドラの処理
</csdc:oncopy>

注※ ここでは,JavaScriptを使用し,次の処理を定義します。
  1. Javaオブジェクトがシリアライズされた文字列を,HTMLから取得します。
  2. 1.で取得した文字列をJavaScript関数「hptl_deserializeH2JS」により,JavaScriptオブジェクトにデシリアライズします。
  3. JavaScript関数「hptl_setPortalClipboardData」により,2.のオブジェクトをポータルクリップボードウィンドウにセットします。
属性
属性説明必須/任意JSPスクリプトレット式評価
nameString・「コピーイベントハンドラ」の関数名称を定義します。関数名称を定義することで,任意のJavaScriptコードから呼出しができるようになります。ただし,ページ内で関数名をユニークとなるように注意する必要があります。
・他JavaScriptコードから呼び出しがない場合は省略できます。
・省略した場合は,イベントハンドラの名称は「”hptl_uap_oncopy” + ページ内でユニークな通番」となります。
任意
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
<csdc:oncopy>のHTML変換規則を次に示します。

表14-13 <csdc:oncopy>のHTML変換規則

変換前/後name属性が定義されていない場合name属性が定義されている場合
変換前

<csdc:oncopy>
コピーイベントハンドラの処理
</csdc:oncopy>

<csdc:oncopy name="samplehandler">
   コピーイベントハンドラの処理
</csdc:oncopy>

変換後

<script type="text/javascript">
   function hptl_uap_oncopy1(){
   コピーイベントハンドラの処理
   }
</script>

<script type="text/javascript">
     function samplehandler() {
   コピーイベントハンドラの処理
   }
</script>

注※ コピーイベントハンドラの処理の詳細は,このタグライブラリの構文の注を参照してください。


(5) csdc:onpaste

機能
ペーストイベントハンドラを定義します。<csdc:dest>の子要素としてだけ利用できます。
構文

<csdc:onpaste [name="function name"]>
   ペーストイベントハンドラの処理
</csdc:onpaste>

注※ ここでは,JavaScriptを使用し,次の処理を定義します。
  1. JavaScript関数「hptl_getPortalClipboardData」を使用し,ポータルクリップボードウィンドウからJavaScriptオブジェクトを取得します。
  2. 転送先HTML部品のオブジェクトを取得します。
  3. 1.で取得したJavaScriptオブジェクトを2.で取得した転送先HTML部品のオブジェクトに格納します。
属性
属性説明必須/任意JSPスクリプトレット式評価
nameStringハンドラの関数名を定義します。関数名を定義することで,任意のJavaScriptコードから呼び出しができるようになります。ただし,ページ内で関数名をユニークにする必要があります。任意
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
<csdc:onpaste>のHTML変換規則を次に示します。

表14-14 <csdc:onpaste>のHTML変換規則

変換前/後name属性が定義されていない場合name属性が定義されている場合
変換前

<csdc:onpaste>
   ペーストイベントハンドラの処理
</csdc:onpaste>

<csdc:onpaste name="samplehandler2">
   ペーストイベントハンドラの処理
</csdc:onpaste>

変換後

<script type="text/javascript">
    function hptl_uap_oncopy2() {
       ペーストイベントハンドラの処理
    }
</script>

<script type="text/javascript">
   function samplehandler2() {
   ペーストイベントハンドラの処理
}
</script>

注※ ペーストイベントハンドラの処理の詳細は,このタグライブラリの構文の注を参照してください。


(6) csdc:serializeJ2H

機能
Javaオブジェクトをシリアライズします。このタグライブラリでは,次のJavaデータ型をサポートします。
  • JavaBeans
  • HashMapクラス
これら以外のJavaデータ型はサポートしません。
構文
属性を定義する順序は任意です。

<csdc:serializeJ2H type="{bean|map}" data="java data object" />

属性
属性説明必須/任意JSPスクリプトレット式評価
dataObjectシリアライズ対象のオブジェクトを指定します。
・JavaBeansの場合:JavaBeansインスタンスを指定
・HashMapの場合:HashMapインスタンスを指定
必須
typeStringJavaオブジェクトのデータ型を指定します。
・JavaBeansの場合:"bean"を指定
・HashMapの場合:"map"を指定
必須
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
変換前

<csdc:serializeJ2H type="bean" data="object" />

変換後
data属性に指定されているインスタンス”object”がシリアライズされた文字列

(7) csdc:src

機能
データ転送元のオブジェクトを定義します。
構文

<csdc:src datatype="data type">
   <csdc:oncopy> // 子要素
   <csdc:body>   // 子要素
</csdc:src>

属性
属性説明必須/任意JSPスクリプトレット式評価
datatypeString・この属性には,複数の文字列を指定できます。文字列を複数指定する場合は,文字列をコンマ区切りで記述します。指定する文字列の中にコンマが含まれる場合は,動作しなくなるおそれがあるため注意が必要です。
・指定できる文字列は,最大16文字です。
・定義フォーマットを次に示します。
ネームスペース名.通信データオブジェクト名称
・ネームスペース名がJavaクラスライブラリ名と同じ場合は,ドメインの文字列を反転させたものを記述します。
・uCosminexus Portal Frameworkでは,「hptl」で始まる文字列を予約語としているため,開発ユーザは,「hptl」で始まる文字列以外を指定する必要があります。
必須
(凡例)
○:JSPスクリプトレット式で評価されます。

HTML変換規則
<csdc:src>タグ内に記述された内容が表示されます。

(8) csdc:use

機能
クライアントサイドデータ通信機能を使用するための初期定義をします。このタグライブラリは,ポートレット/テンプレート上で<body>タグ内に1回だけ定義します。また,フレームで使用する場合には,そのフレームを取り込んでいるウィンドウの<body>タグ内に定義します。
なお,複数定義した場合,HTML変換は実行されますが,iframeタグのIDが重複するため,クライアントサイドデータ通信機能の動作を保証できません。また,フレーム内で定義した場合,HTML変換は実行されますが,初期定義として使用されません。
構文

<csdc:use/>

属性
なし
HTML変換規則
変換前

<csdc:use/>

変換後
<PortalResources.propertiesファイルのjp.co.hitachi.soft.portal.csdc.datatype.userData項目が「true」の場合>

<iframe id="hptl_csdc_behavior_frame" src="{uCosminexus Portal Frameworkのコンテキストルート}/html/userData.html" width="0" height="0" frameborder="no" scrolling="no" marginwidth="0" marginheight="0">
</iframe>
<iframe id="hptl_csdc_serialize_temporary_frame" src=”{uCosminexus Portal Frameworkのコンテキストルート}/html/blank.html” width="0" height="0" frameborder="no" scrolling="no" marginwidth="0" marginheight="0">
</iframe>

<PortalResources.propertiesファイルのjp.co.hitachi.soft.portal.csdc.datatype.userData項目が「true」以外の場合>
何も記述されません。
注※ PortalResources.propertiesファイルの詳細は,マニュアル「uCosminexus Portal Framework システム管理者ガイド」の「PortalResources.propertiesの詳細」の説明を参照してください。