# Flow Definition Language 1.0 to 2.0 Mappings

The flow definition language has changed since the 1.0 release. This is a listing of the language elements in the 1.0 release, and how they map to elements in the 2.0 release. While most of the changes are semantic, there are a few structural changes. Please see the upgrade guide for more details about changes between Web Flow 1.0 and 2.0.

Mappings

SWF 1.0 | SWF 2.0 | Comments
--- | --- | ---
action | * | use <evaluate />
bean | *
name | *
method | *
action-state | action-state
id | id
* | parent
argument | * | use <evaluate expression="func(arg1, arg2, ...)"/>
expression
parameter-type
attribute | attribute
name | name
type | type
value | value
attribute-mapper | * | input and output elements can be in flows or subflows directly
bean | * | now subflow-attribute-mapper attribute on subflow-state
bean-action | * | use <evaluate />
bean | *
name | *
method | *
decision-state | decision-state
id | id
* | parent
end-actions | on-end
end-state | end-state
id | id
view | view
* | parent
* | commit
entry-actions | on-entry
evaluate-action | evaluate
expression | expression
name | * | use <evaluate ...> <attribute name=”name” value="..." /> </evaluate>
* | result
* | result-type
evaluation-result | * | use <evaluate result="..." />
name | *
scope | *
exception-handler | exception-handler
bean | bean
exit-actions | on-exit
flow | flow
* | start-state
* | parent
* | abstract
global-transitions | global-transitions
if | if
test | test
then | then
else | else
import | bean-import
resource | resource
inline-flow | * | convert to new top-level flow
id | *
input-attribute | input
name | name
scope | * | prefix name with scope <input name="flowScope.foo" />
required | required
* | type
* | value
input-mapper | * | inputs can be in flows and subflows directly
mapping | input or output
source | name or value | name when in flow element, value when in subflow-state element
target | name or value | value when in flow element, name when in subflow-state element
target-collection | * | no longer supported
from | * | detected automatically
to | type
required | required
method-argument | * | use <evaluate expression="func(arg1, arg2, ...)"/>
method-result | * | use <evaluate result="..." />
name | *
scope | *
output-attribute | output
name | name
scope | * | prefix name with scope <output name="flowScope.foo" />
required | required
* | type
* | value
output-mapper | * | output can be in flows and subflows directly
render-actions | on-render
set | set
attribute | name
scope | * | prefix name with scope <set name="flowScope.foo" />
value | value
name | * | use <set ...> <attribute name=”name” value="..." /> </set>
* | type
start-actions | on-start
start-state | * | now <flow start-state="...">, or defaults to the first state in the flow
idref | *
subflow-state | subflow-state
id | id
flow | subflow
* | parent
* | subflow-attribute-mapper
transition | transition
on | on
on-exception | on-exception
to | to
* | bind
value | value
var | var
name | name
class | class
scope | * | always flow scope
bean | * | all Spring beans can be resolved with EL
view-state | view-state
id | id
view | view
* | parent
* | redirect
* | popup
* | model
* | history
* | persistence-context
* | render
* | fragments
* | secured
* | attributes
* | match