@converter"
From Documentation
Line 7: | Line 7: | ||
= Description = | = Description = | ||
− | '''Target Attribute:''' any (except viewModel, validationMessages, form, and | + | '''Target Attribute:''' any (except viewModel, validationMessages, form, and event attributes) |
'''Purpose:''' It should be used with <tt> @bind </tt>, <tt> @load </tt>, <tt> @save </tt>. It applies a converter to convert data during transformation between UI components and ViewModel. | '''Purpose:''' It should be used with <tt> @bind </tt>, <tt> @load </tt>, <tt> @save </tt>. It applies a converter to convert data during transformation between UI components and ViewModel. |
Revision as of 07:11, 23 April 2012
Syntax
@converter( [EL-expression], [arbitraryKey]=[EL-expression] )
Description
Target Attribute: any (except viewModel, validationMessages, form, and event attributes)
Purpose: It should be used with @bind , @load , @save . It applies a converter to convert data during transformation between UI components and ViewModel.
The evaluation result of EL expression should be a Converter object. You can append arbitrary arguments in key-value pair with comma separated to pass it to the Converter object. Built-in Converter is referenced by a string literal as its name.
- [arbitraryKey]=[EL-expression]
- It's key-value pairs basically. You can write multiple key-value pairs with different key names.
- An EL expression without key is set to a default key named "value" implicitly.
- Due to each annotation has different functions, some annotations may ignore key-value pair expression other than default key, e.g.@id.
- [arbitraryKey]
- It could be any name, it's used as a key for parameter related Java annotation in a ViewModel.
Example
Use built-in converter named formatedNumber
<label value="@load(item.price) @converter('formatedNumber', format='###,##0.00')"/>
Use custom converter
<label value="@load(vm.selected.totalPrice) @converter(vm.totalPriceConverter)"/>
Version History
Version | Date | Content |
---|---|---|
6.0.0 | February 2012 | The MVVM was introduced. |