データ要素のバインド

XPage コントロールはデータソースの要素にバインドできます。

Domino® 文書データソースを定義すると、 項目にアクセスできるようになります。 これらの項目は コントロールにバインドできます。 すなわち、ユーザーがコントロールに 入力したデータが、文書の保存時にバインド対象の項目に 割り当てられます。 同様に、文書を取得するときには、 項目の値がバインド対象のコントロールに 割り当てられます。 ソースモードでは、バインドされた項目は、 データソースの名前で始まる EL 式の形をとります。 ここでは、document1 データソースの subject 項目に バインドされた入力ボックスを示します。
<xp:inputText value="#{document1.subject}" id="inputText1"></xp:inputText>
コントロールは、 グローバル変数やスクリプトの戻り値にバインドすることもできます。

[データ] パレット

データソースとその構成項目は、 データパレット ([ウィンドウ] > [Eclipse ビューの 表示] > [データ]) で 確認できます。 データ項目を XPage にドラッグアンドドロップできます。 コントロールが既に存在する場合にデータ項目をドラッグすると、 コントロールがその項目にバインドされます。 例えば、以下の編集ボックスがあり、 まだバインドされていないものとします。
<xp:inputText id="inputText1"></xp:inputText>
document1subject 項目に ドラッグすると、以下のようになります。
<xp:inputText id="inputText1" value="#{document1.subject}"></xp:inputText>
XPage プロパー (すべてのコントロールの外側) に データ項目をドラッグした場合は、適切なコンテキストが作成されます。 例えば、document1subject 項目を XPage プロパーに ドラッグすると、以下のようになります。
<xp:table>
	<xp:tr>	<xp:td>
		<xp:label value="Subject:" id="subject_Label1" for="subject1"></xp:label>
	</xp:td><xp:td>
		<xp:inputText value="#{document1.subject}" id="subject1"></xp:inputText>
	</xp:td></xp:tr>
</xp:table>
入力ボックスは表の列 2 に設定され、 ラベルが列 1 に入ります。
データパレットの左上には、[コントロールの 選択] ダイアログボックスの 切り替えスイッチがあります。 デフォルトでは 無効になっています。 (クリックして) 有効にすると、 データ項目を XPage にドラッグしたときに ダイアログが表示されるようになります。 このダイアログでは以下の操作が可能です。
  • コントロールのタイプを変更する。
  • タイプが Submit のボタンコントロールを追加する。
  • 複数エラー表示コントロールを追加する。

[データ] タブ

バインディングのメカニズムは、Domino 文書項目にバインドできるコントロールの [データ] タブに 存在します。 ドロップダウンメニューにより、 データソースを選択するか、作成することができます。 別のドロップダウンメニューでは 項目を選択できます。 ほかの場所では、表示形式と書式を確認したり、 デフォルト値を指定したりすることができます。
以下の例では、 入力ボックスコントロールにフォーカスがあります。 ユーザーが [データ] タブを選択し、 ドロップダウンメニューから document1number を選択し、 表示形式が [数値] であることを確認して、 デフォルト値を指定します。
<xp:inputText id="inputText2" value="#{document1.number}" defaultValue="1">
	<xp:this.converter>
		<xp:convertNumber type="number"></xp:convertNumber>
	</xp:this.converter>
</xp:inputText>