Example:
If I have a HistoryPage.jspx has a table which displays a list of the History records. This means -whenever the Dept. creates a new Decision, it is added to the decisions table.
If we look at the config-faces.xml diagram (User Interface > r-click > config*) we will see that HistoryPage.jspx is used in the navigation-cases and is called from-to other relational pages.
As a procedure of ADF, HistoryDecision should probably have an XML page definition, mapped to a DataControl and possibly to some java-backup-bean. To find out:
  1. If HistoryPage.jspx has an xml definition then when r-clicked within the jspx, it should take you to this xml page. This xml should implement most importantly:
    • InvokeAction -an action to perform when called
    • Iterator -an iterator to read records based on a Data Control
  2. A table on a jspx page would access this data-collection via its ‘value’ attribute:
    • <af:table value=”#{bindings.HistoryDecision.collectionModel}”…

      This is ‘bound’ to an iterator to be able to display records. A jspx can include multiple ‘bindings’ to iterators configured in the xml page definition file. 

      Note: To create an xml PageDef, r-click on jspx. By default the xml is empty. R-click > Insert* on page-title inside Structure-pane to firstly create the bindings, executable and parameter folders. Then start creating the InvokeActions, Iterators, Tables, etc. objects.

  3. HistoryDecision in the PageDef is a table created using the HistoryDataControl, selecting attributes from available views in the data control.
    Note: A DataControl in ADF is created using a java class in: Interface > Application Sources > Java class
  4. The Iterator is bound to HistoryDecision(the table) using the HistoryDataControl (the DataControl) as:
    <iterator id=”HistoryDecisionIterator” RangeSize=”10″
    Binds=”
    HistoryDecision” DataControl=”HistoryDecisionDataControl”/>
  5. The InvokeAction is bound to a refreshSearchDefault (the method found in the relevant model view implementation)