Friday, November 11, 2011

Spring WebFlow input patameters default values

Due to strange WebFlow behaviour (possibly a bug) it was impossible for me to use a constant as a default input value - I was constantly getting OgnlException. So, I used following workaround.

Suppose you have such input parameter in your flow definition and you want 'true' to be default value:

<input name="myFlag" type="boolean"/>

Then define some action state as initial state (<flow start-state="myFirstState">) and set default value there:

<action-state id="myFirstState">
  <on-entry>
    <set name="myFlag" value="myFirstState==null?true:myFlag"/>
</on-entry>
...
<action-state>

This would do the trick.