0

Spring Webflow 2 で奇妙な問題が発生しています: フロー内に 3 つの状態があります: 1) 記入するフォーム 2) 確認ページ 3) モデルを保存するアクション状態

最初の状態は完全に機能し、問題ありません。2 番目の状態は送信ボタンに応答しません。完全に死んでいて、クライアント側とサーバー側のどちらにもまったく反応がありません。理由はありますか?

ここに私のフロー定義:

<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> 

そして、ここで2番目のステップ.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 タグに action 属性と method 属性が追加されているか確認してください。例えば:

<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 に答える