0

Webflow レベルで例外ハンドラがあります

<exception-handler bean="webflowExceptionHandlerBean"/>

また、フロー A とフロー B の 2 つの異なるフローがあります。フロー B はフロー A のサブフローです。

フローA

<flow>
  <on-start>
    <!-- SOME SET -->
  </on-start>
  <view-state id="viewStateA">
    <transition id="goToFlowB" to="flowB"/>
  </view-state>
  <subflow-state id="flowB" subflow="flowB">
  </subflow-state>
</flow>

フローB

<flow>
  <on-start>
    <!-- SOME SET -->
  </on-start>
  <view-state id="flowB">
    <on-entry>
    <!-- HERE THE EXCEPTION IS THROWN -->
    </on-entry>
    <transition id="goToT1" to="t1"/>
  </view-state>
</flow>

そのため、 webflowExceptionHandlerBeanによってキャッチされないフロー Bのエントリで例外がスローされた場合

webflowExceptionHandlerBeanの構成はFlowExecutionExceptionHandlerを実装します

使ってみましたそれは機能しましたが、各フローでグローバル例外ハンドラーを 1 つだけ使用したいと考えています。

何が起こったか知っていますか?何か不足していますか?

4

1 に答える 1

0

以下のような抽象的なフロー定義を持っています

<flow xmlns="http://www.springframework.org/schema/webflow"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/webflow
                            http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" abstract="true">
<exception-handler bean="webflowExceptionHandlerBean"/>
</flow>

次に、以下のように抽象フローをフロー A とフロー B に継承します。

<flow xmlns="http://www.springframework.org/schema/webflow"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/webflow
                            http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" parent="abstract-flow">

カスタム例外ハンドラを使用して、例外をグローバルに処理できるはずです

于 2014-04-07T11:03:07.327 に答える