diff --git a/spring-webflow-reference/src/spring-faces.xml b/spring-webflow-reference/src/spring-faces.xml
index af88d11a..85bddd63 100644
--- a/spring-webflow-reference/src/spring-faces.xml
+++ b/spring-webflow-reference/src/spring-faces.xml
@@ -353,9 +353,13 @@
]]>
+
+
+ Data Model Implementations
- The custom DataModel provides some extra conveniences such as being serializable for storage beyond
- request scope and access to the currently selected row in EL expressions. For example, on postback from
+ In the example above result-type="dataModel" results in the wrapping of List<Booking> with custom DataModel type.
+ The custom DataModel provides extra conveniences such as being serializable for storage beyond
+ request scope as well as access to the currently selected row in EL expressions. For example, on postback from
a view where the action event was fired by a component within a DataTable, you can take action on the
selected row's model instance:
@@ -364,6 +368,17 @@
]]>
+
+ Spring Web Flow provides two custom DataModel types: OneSelectionTrackingListDataModel and ManySelectionTrackingListDataModel.
+ As the names indicate they keep track of one or multiple selected rows.
+ This is done with the help of a SelectionTrackingActionListener listener, which responds to JSF action events and invokes the appopriate methods on the SelectinAware data models to record the currently clicked row.
+
+
+ To understand how this is configured, keep in mind the FacesConversionService registers a DataModelConverter against the alias "dataModel" on startup.
+ When result-type="dataModel" is used in a flow definition it causes the DataModelConverter to be used.
+ The converter then wraps the given List with an instance of OneSelectionTrackingListDataModel.
+ To use the ManySelectionTrackingListDataModel you will need to register your own custom converter.
+