I'm trying to pass a parameter to an evaluate tag in a Spring WebFlow
<action-state id="activateOption">
<evaluate expression="someService.call()" result="flowScope.serviceResult" result-type="java.lang.String">
**<attribute name="x" value="flowScope.serviceInput"/>**
</evaluate>
<transition on="0" to="Stop_View"/>
</action-state>
In the SomeService bean, when I get retrieve the x parameter like this:
RequestContextHolder.getRequestContext().getAttributes().get("x")
it returns the String "flowScope.serviceInput" instead of the value of the flowScope.serviceInput which I've set previously in the flow, in another state.
I can pass reference values on on-entry like this:
<action-state id="some action">
<on-entry>
<set name="flowScope.someName" value="flowScope.someOtherParam + ' anything!!'" type="java.lang.String"/>
</on-entry>
Why can't I do it when setting an attribute to an evaluate?
Workarounds would not work because we're trying to generate flows this way.
Thanks!