Data Service バインディング

Platform 4.2+が必要

データサービスプラグインが必要

DataService のシンタックス

このドキュメントでは、com.nexaweb.data.DataService インターフェイスを使用してデータを UI にバインドするための宣言型シンタックスについて説明します。com.nexaweb.data.DataService インターフェイスは、プラグインを通じて提供されるシステムサービスです。詳細については、データ サービス プラグイン API javadoc を参照してください。

"DataService" システムサービスを使用してデータを UI にバインドするために、以下のメソッドが公開されています。

重要: 以下のメソッドは、テキスト解決シンタックスで使用したり、メソッド呼び出しの引数として使用したりできる、汎用のオブジェクトを返します。

DataService.bind( 'bind-string' )

指定された
bind-string: セミコロンで区切られたパラメータのリスト
パラメータのフォーマット: 等号で区切られた名前と値のペア (名前=)
次の表に、
パラメータ
説明
必須/省略可能
type
バインディング タイプ: ONE_TIME または ONE_WAY
指定しない場合は、デフォルトで ONE_TIME になります。
省略可能
dataSource
データ ソースの ID です。反復ループのコンテキストでは、祖先反復子の名前になることがあります。指定しない場合、親反復子に対して相対的に選択が実行されます。
必須
defaultValue
データが使用不可であるか、Null である場合に返される値です。
省略可能
formatter
データを UI でのプレゼンテーション用に変更するために使用するフォーマッタです。
 

例:

<label text="{ bind('dataSource=myDataSource; select=/customers/customer[0]@name; type=ONE_WAY') }"/>

登録されているショートカット

bind
bind=DataService.bind
 
DataService.bind( binding://binding-id )

ID binding-idであるバインディング定義を使用してバインドします。

例:

<label text="{ bind(binding://myBinding) }"/>

登録されているショートカット

bind
bind=DataService.bind

DataService.relativeBind( 'select' )

指定された select 文字列を使用してバインドします。バインディングは、最も近い祖先反復子のデータソースに対して実行され、現在の反復データが選択のコンテキストとして指定されます。

例:
<data:iterator dataSource="myDataSource" select="/customers" xmlns:data="http://nexaweb.com/data">
<label text="{ *('customer[0]@name') }"/>
Registered Shortcut

*
* DataService.relativeBind を表します

DataService.relativeBind( 'iteratorNameOrDataSourceId', 'select' )

指定された select 文字列を使用してバインドします。バインディングは、iteratorNameOrDataSourceIdという名前の祖先反復子の現在の反復に対して相対的に実行されるか、ID iteratorNameOrDataSourceId である指定されたデータソースに対してコンテキストを使用せずに直接実行されます。

例:  
 
<data:iterator name="topIterator" dataSource="myDataSource" select="/customers" xmlns:data="http://nexaweb.com/data">
<label text="{ *('topIterator', 'customer[0]@name') }"/>

登録されているショートカット
*
*DataService.relativeBind を表します

bind-stringでサポートされるパラメータを示します。 bind-string を使用してバインドします。