私はspring 2.5アプリケーションを持っていて、フロー内のいくつかのページは完全に動作します。 「壊れた」であるページがフォームで提出しました:何もせず例外をスローしないSpring Webflowサブミットをデバッグする方法
<input type="image" name="_eventId_submit" src="<c:url value="images/continue.png" />" />
をこのページのフロー定義が正しいになります
<view-state id="coverages" view="tiles.coverages" model="rtrForm">
<on-entry>
...
</on-entry>
<transition on="submit" to="policyVehicleDetailsDecisionForward">
<evaluate expression="coverageFormAction.bindAndValidate" />
<evaluate expression="coverageFormAction.evaluateCoverages(rtrForm)" />
</transition>
</view-state>
私はmainFlowAction.evaluateCoverages(でデバッグ文を持っています... )ログファイルにはこれが表示されませんが、例外はありません。ここからどこに行くのか誰も知っていますか?私はTomcat 6.0.33にeclipseを接続してリモートデバッグを行いましたが、私はまだ何も例外を見ませんでした...私はこの時点で困っており、これを理解する方法はありません。提案は歓迎されるだろう。
これをさらにいくつか取り上げて、QuoteFormAction.bindAndValidate()メソッドをオーバーライドしました。悲しいことに、このメソッドがログで呼び出されているのを見ていません - この時点で想定していますフォームはそれを呼び出すことさえしていない...私は私が働くすべてのページのために持っているのと同じパターンを使用しています。
<form id="rtrForm" action="/rtrSite/main.svc?execution=e1s5" method="post">
...
<select name="quoteForm.policyLevelCoverages.towing" class="violationType" id="TOWING" validate="selectOneOption" req="">
...
<select name="quoteForm.vehicleLevelCoverages[0].rental" class="violationType" id="RENTAL" validate="selectOneOption" req="">
...
<input type="image" name="_eventId_submit" src="images/continue.png" />
<input type="image" name="_eventId_save" src="images/save.png" value='Save -n- Return' />
<input type="image" src="images/back.png" name="_eventId_back" value='Back' />
<input type="reset" id="reset" />
</form>
JSPフォーム生成:
<c:forEach var="policyCoverageList" varStatus="policyCoverageStatus" items="${quoteForm.coverages.jspCoverageCodesPolLevel}">
<spring:bind path="quoteForm.policyLevelCoverages.${fn:toLowerCase(policyCoverageList.coverageCode)}" >
<select name="${status.expression}" class="violationType" id="${policyCoverageList.coverageCode}" validate="selectOneOption" req="">
<c:if test="${policyCoverageList.isRequired == 'N'}">
<option value="-1"><spring:message code="coverage.decline" /></option>
</c:if>
<c:forEach var="policyCoverage" items="${policyCoverageList.limits}">
<option value="${policyCoverage.id}" <c:if test="${policyCoverage == 'TODO'}">SELECTED</c:if>>
${policyCoverage.coverageLimits}
</option>
</c:forEach>
</select>
</spring:bind>
</c:forEach>
を把握するのに役立ちますコンソール/ログファイルにメッセージが表示されます
上でデバッグレベルをオンクライアントコード –
カルロス - 火かき棒を付けてコンソールに行ったが、何も見えなかった、特定のタブがありますか? –
Johnからform:errorsというタグを追加するという以前の回答がありました。私のフォームには、彼が提案したものと似たバージョンがありました。私は持っています:
投稿時に常にtiles.coveragesに戻ってきます –