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 を表します
*はDataService.relativeBind を表します
bind-stringでサポートされるパラメータを示します。 bind-string を使用してバインドします。