| Builds a
Binding based on two JavaScript snippets, respectively for loading and saving the form.
This binding also optionally accepts named child bindings, which are useful when the bound widget is a container.
The syntax for this binding is as follows:
<fb:javascript id="foo" path="@foo">
<fb:load-form>
var appValue = jxpathPointer.getValue();
var formValue = doLoadConversion(appValue);
widget.setValue(formValue);
childBindings["foo"].loadFormFromModel(widget, jxpathContext);
</fb:load-form>
<fb:save-form>
var formValue = widget.getValue();
var appValue = doSaveConversion(formValue);
jxpathPointer.setValue(appValue);
childBindings["foo"].saveFormToModel(widget, jxpathContext);
</fb:save-form>
<fb:child-binding name="foo">
<fb:value id="bar" path="baz"/>
</fb:child-binding>
</fb:javascript>
This example is rather trivial and could be replaced by a simple <fb:value>, but
it shows the available variables in the script:
widget : the widget identified by the "id" attribute,
jxpathPointer : the JXPath pointer corresponding to the "path" attribute,
jxpathContext (not shown): the JXPath context corresponding to the "path" attribute
Notes:
- The <fb:save-form> snippet should be ommitted if the "direction" attribute is set to "load".
- The <fb:load-form> snippet should be ommitted if the "direction" attribute is set to "save".
version: $Id: JavaScriptJXPathBindingBuilder.java 517733 2007-03-13 15:37:22Z vgritsenko $ |