0

我在 Spring Webflow 2 中遇到了一个奇怪的问题:我的流程中有三个状态:1)要填写的表单 2)确认页面 3)保存模型的操作状态

第一个状态完美运行,没问题第二个状态不回复任何提交按钮。完全死了,客户端和服务器端都没有反应。你有什么想法为什么?

这是我的流程定义:

<view-state id="step1" view="profile/step1_profile" model="profile">
<on-render>
    <evaluate expression="profileReferenceData.getNationalities(flowRequestContext)"/>
    <evaluate expression="profileReferenceData.getRaces(flowRequestContext)"/>
    <evaluate expression="profileReferenceData.getReligions(flowRequestContext)"/>
</on-render>
    <transition on="submit_step_1" to="step2">
    </transition>
</view-state>

<view-state id="step2" view="profile/step2_confirmData" model="profile">
    <!--            <secured attributes="ROLE_USER" /> -->
    <transition on="submit_step_2" to="step3"/>
    <transition on="review" to="step1" />
</view-state>

<!--  step3. Save data  -->
 <action-state id="step3"> 
     <evaluate expression="profileServiceImpl.createProfileForWebFlow(profile)" /> 
     <transition on="ok" to="done" /> 
     <transition on="error" to="notDone" /> 
 </action-state> 

这里是第二步 .jsp

<tr>
    <td><spring:message code="label.nationality"/>:</td>
    <td><c:out value="${profile.personalData.nationality}"/></td>
</tr>   
<tr>
    <td><spring:message code="label.race"/>:</td>
    <td><c:out value="${profile.personalData.race}"/>
</tr>   
<tr>
    <td><spring:message code="label.religion"/>:</td>
    <td><c:out value="${profile.personalData.religion}"/>
<tr>
    <td><input type="submit" value="Submit" name="_eventId_submit_step_2" /></td>
    <td><input type="submit" name="_eventId_review" value="Review"/></td>
    <td><input type="submit" name="_eventId_cancel" value="Cancel"/></td>
</tr>

多谢

4

1 回答 1

0

我想看看您如何声明表单...无论如何,请检查是否已将操作和方法属性添加到表单标记中。例如:

<form id="formId" action="${flowExecutionUrl}" method="post">
...
</form>

或者在你的情况下:

<form:form id="formId" action="${flowExecutionUrl}" method="post" modelAttribute="profile">
...
</form:form>

希望这可以帮助。

于 2012-06-06T15:45:47.053 回答