Hi dbrinker,
Thank you for your answer...
I have defined the address user flow as a subflow (child-flow) in mandatorydata-change flow (parent-flow).
Here are the code:
In JSP (mandatorydata-change.jsp):
Code:
...
<form:form method="post" modelAttribute="myAccount">
...
<form:form method="post" modelAttribute="useraddress">
...
</form:form>
...
</form:form>
In parent-flow:
Code:
...
<var name="myAccount" class="mmv.pojos.User" />
<var name="useraddress" class="mmv.pojos.Useraddress" />
...
<on-start>
<evaluate expression="userService.getUserIdByUsername(currentUser.name)" result="flowScope.userId" />
<evaluate expression="userService.getUserById(flowScope.userId)" result="myAccount" />
</on-start>
...
<view-state id="Mymmvmandatorydatachange" model="myAccount">
<transition on="saveUserAddressData" to="MymmvUserAddress" />
<transition on="saveData" to="MymmvMandatoryDataChange" />
</view-state>
...
<subflow-state id="MymmvUserAddress" subflow="myMMVuseraddress">
<input name="useraddress" value="useraddress"/>
<transition on="UseraddressEnd" to="Mymmvmandatorydatachange"/>
</subflow-state>
...
In child-flow:
Code:
...
<var name="useraddress" class="mmv.pojos.Useraddress" />
<action-state id="UseraddressSave">
<evaluate expression="userService.persistUseraddress(useraddress)" />
<transition on="success" to="UseraddressEnd">
<set name="flashScope.saveDataSuccess" value="true"/>
</transition>
<transition on="error" to="UseraddressEnd" />
</action-state>
<end-state id="UseraddressEnd" commit="true" view="MymmvMandatoryData" />
...
The problem now is that the user address data can not be saved. And this is really logical, because the modelAttribute "useraddress " in JSP was not passed to the model in parent flow (<view-state id="Mymmvmandatorydatachange" model="myAccount"> ...</ view-state>) . There was only the modelAttribute "myAccount".
Do you know how in a view-state can pass two models?
Thank you for your help.
Lukem