Accessing ADF Bindings Through Expressions in UIX XML Pages

As an alternative to working with the Data Control Palette to design your application's UI, you can create your document's ADF binding container and the ADF bindings directly within the Structure window. In a UIX page, you can then write expressions that provide the value for the UIX component's model attribute to work with those bindings.

To reference the bindings in your UIX page:

  1. Create the ADF binding container and bindings in the Structure window.

  2. Open the UIX document in the Source code editor, and write expressions that operate on the bindings.

  3. To access the value of a value binding object in a UIX page, you would write:

    <UIXcomponentName model="${bindings. ValueBindingName}">

    For example, when you work with a message text input component, the model attribute references the binding like this:

    <messageTextInput model="${bindings.OrderId}"/>

  4. To access a value binding when the component uses a complex attribute (one that defines its own component), your code would look similar to this:

    <UIXComponentName model="${ctrl:create UIXComponentComplexAttribute(bindings.IteratorBindingName ,'ValueBindingName')}"/>

    For example, when you work with a table component, the table's nested sortableHeader attribute is a complex attribute that references the value binding like this:

    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.OrdersView1,'OrderMode')}"/>

  5. To access the data objects of an iterator binding in a component that is nested inside another component, your code would look similar to this:

    
       <UIXComponentName model="${bindings.IteratorBindingName}" ... ">
    
    	    ...contents...
    
    	       <UIXNestedComponentName model="${uix.current.ValueBindingName}"/>        

    For example, when you work with a table component, the table's nested text input component (to render the table column values) references the binding like this:

     
    
    	
    
       <table model="${bindings.OrdersView1}" id="OrdersView10" partialRenderMode="multiple" 
    
                                                partialTargets="_uixState">
    
    	   ...
    
    	       <textInput model="${uix.current.OrderMode}" columns="10" readOnly="true" />        
  6. To customize a binding, use Code Insight to obtain the properties available for a particular binding.

Notes:

JDeveloper also provides Expression Language support in the Property Inspector by using the model binding dialog for the model attribute to select an available expression.


To read about data bindings:

About the Oracle ADF Bindings
About the Properties of the ADF Bindings

For more information about data binding in UIX XML pages:

About the Model Attribute
Data Binding a Component Attribute

 

Copyright © 1997, 2004, Oracle. All rights reserved.