为什么我会收到此错误 "org.springframework.webflow.engine.NoMatchingTransitionException"

Why I am getting this error "org.springframework.webflow.engine.NoMatchingTransitionException"

我的代码在我的本地设置上 运行 非常好,只是尝试添加更新的代码并重新启动服务器,我得到了这个错误,然后我恢复了这些更改,但错误仍然存​​在,清理了我的项目 100 次。

我正在使用 spring web-flow.. 请参考 error.I 的屏幕截图,我也在文本框中粘贴了错误... 我也贴上action-state module-home的代码片段,这里指出了错误。

提前致谢..请帮忙!!!!!!!!!!

代码片段 :: 流量:

<action-state id="module-home">
    <!--   <evaluate expression="businessDelegate.getCorporateInfo(requestParameters._module,requestParameters._state)"
        result="requestScope.description" /> -->

    <evaluate expression="eventHandler.getEventId(flowRequestContext)" />
    <transition on="event-sitemap" to="view-sitemap"></transition>

    <transition on="event-campaigns" to="view-campaigns"></transition>

    <transition on="event-subscribe-newsletter" to="view-subscribe-with-login"></transition>        
    <transition on="event-tapsubscribe-newsletter" to="view-tapsubscribe-with-login"></transition>
    <transition on="event-tappmesubscribe-newsletter" to="view-tappmesubscribe-with-login"></transition>
    <transition on="event-ticlogout" to="view-ticlogout"></transition>
    <transition on="event-taplogout" to="view-taplogout"></transition>

    <transition on="event-tappmelogout" to="view-tappmelogout"></transition>

    <transition on="event-ticlogin" to="view-ticlogin"></transition>
    <transition on="event-quick-registration" to="view-quick-registration"></transition>
    <transition on="event-account-password-setup" to="view-account-password-setup"></transition>

    <transition on="event-taplogin" to="view-taplogin"></transition>
    <transition on="event-tappmelogin" to="view-tappmelogin"></transition>

    <transition on="event-forgotpassword" to="view-forgotpassword"></transition>
    <transition on="event-tapforgotpassword" to="view-tapforgotpassword"></transition>
    <transition on="event-tappmeforgotpassword" to="view-tappmeforgotpassword"></transition>

    <transition on="event-index" to="view-homepage"></transition>

    <transition on="event-tapindex" to="view-homepagetap"></transition>
    <transition on="event-tappmeindex" to="view-homepagetappme"></transition>

    <transition on="event-myaccount" to="view-myaccount"></transition>

    <transition on="event-onlineactivation" to="view-onlineactivation"></transition>
    <transition on="event-memberenrollment" to="view-ticenroll"></transition>

    <transition on="event-epicurethankyou" to="view-epicurethankyou"></transition>
    <transition on="event-buy-points-confirmation" to="view-buy-points-status"></transition>

    <transition on="event-quick-registration-thankyou" to="view-enroll-thankyou"></transition>

    <transition on="event-canceltransaction" to="view-canceltransaction"></transition>

    <transition on="event-ticpasswordreset" to="view-passwordchange"></transition>
    <transition on="event-tappasswordreset" to="view-tappasswordreset"></transition>
    <transition on="event-tappmepasswordreset" to="view-tappmepasswordreset"></transition>
    <transition on="event-epicurerenewthankyou" to="view-epicurerenewthankyou"></transition>

    <transition on="event-downloadpointsummary" to="view-downloadPointSummary"></transition>
    <transition on="event-downloadtransaction" to="view-downloadtransaction"></transition>
    <transition on="event-tapdownloadpointsummary" to="view-tapdownloadPointSummary"></transition>
    <transition on="event-tapdownloadtransaction" to="view-tapdownloadtransaction"></transition>
    <transition on="event-tappmedownloadpointsummary" to="view-tappmedownloadPointSummary"></transition>
    <transition on="event-tappmedownloadtransaction" to="view-tappmedownloadtransaction"></transition>
    <transition on="event-vistara-bonus-excel" to="view-vistara-bonus-excel"></transition>
    <transition on="event-point-conversion-excel" to="view-point-conversion-excel"></transition>
    <transition on="event-website-maintenance" to="view-website-maintenance"></transition>
    <transition on="event-campaign-member-validation" to="view-campaign-member-validation"></transition>

</action-state>

异常:::

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.webflow.engine.NoMatchingTransitionException: No transition was matched on the event(s) signaled by the [1] action(s) that executed in this action state 'module-home' of flow 'home'; transitions must be defined to handle action result outcomes -- possible flow configuration error? Note: the eventIds signaled were: 'array<String>['event-error/HTTP_NOT_FOUND']', while the supported set of transitional criteria for this action state is 'array<TransitionCriteria>[event-sitemap, event-campaigns, event-subscribe-newsletter, event-tapsubscribe-newsletter, event-tappmesubscribe-newsletter, event-ticlogout, event-taplogout, event-tappmelogout, event-ticlogin, event-quick-registration, event-account-password-setup, event-taplogin, event-tappmelogin, event-forgotpassword, event-tapforgotpassword, event-tappmeforgotpassword, event-index, event-tapindex, event-tappmeindex, event-myaccount, event-onlineactivation, event-memberenrollment, event-epicurethankyou, event-buy-points-confirmation, event-quick-registration-thankyou, event-canceltransaction, event-ticpasswordreset, event-tappasswordreset, event-tappmepasswordreset, event-epicurerenewthankyou, event-downloadpointsummary, event-downloadtransaction, event-tapdownloadpointsummary, event-tapdownloadtransaction, event-tappmedownloadpointsummary, event-tappmedownloadtransaction, event-vistara-bonus-excel, event-point-conversion-excel, event-website-maintenance, event-campaign-member-validation]'
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:932)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:816)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:801)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

根本原因:::

org.springframework.webflow.engine.NoMatchingTransitionException: No transition was matched on the event(s) signaled by the [1] action(s) that executed in this action state 'module-home' of flow 'home'; transitions must be defined to handle action result outcomes -- possible flow configuration error? Note: the eventIds signaled were: 'array<String>['event-error/HTTP_NOT_FOUND']', while the supported set of transitional criteria for this action state is 'array<TransitionCriteria>[event-sitemap, event-campaigns, event-subscribe-newsletter, event-tapsubscribe-newsletter, event-tappmesubscribe-newsletter, event-ticlogout, event-taplogout, event-tappmelogout, event-ticlogin, event-quick-registration, event-account-password-setup, event-taplogin, event-tappmelogin, event-forgotpassword, event-tapforgotpassword, event-tappmeforgotpassword, event-index, event-tapindex, event-tappmeindex, event-myaccount, event-onlineactivation, event-memberenrollment, event-epicurethankyou, event-buy-points-confirmation, event-quick-registration-thankyou, event-canceltransaction, event-ticpasswordreset, event-tappasswordreset, event-tappmepasswordreset, event-epicurerenewthankyou, event-downloadpointsummary, event-downloadtransaction, event-tapdownloadpointsummary, event-tapdownloadtransaction, event-tappmedownloadpointsummary, event-tappmedownloadtransaction, event-vistara-bonus-excel, event-point-conversion-excel, event-website-maintenance, event-campaign-member-validation]'
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:132)
org.springframework.webflow.engine.State.enter(State.java:194)
org.springframework.webflow.engine.Transition.execute(Transition.java:227)
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393)
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388)
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
org.springframework.webflow.engine.State.enter(State.java:194)
org.springframework.webflow.engine.Flow.start(Flow.java:535)
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:366)
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:225)
org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:140)
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193)
org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:920)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:816)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:801)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Evgeny 在评论中说的是正确的。您的方法 eventHandler.getEventId(flowRequestContext) 正在返回字符串值 "event-error/HTTP_NOT_FOUND",并且您没有为此定义转换。

因此您要么需要确定该代码返回意外值的原因(可能是抛出的异常?),要么为其添加转换。