Spring Webflow - доступ к исключению с использованием атрибута transition.on-exception - PullRequest
9 голосов
/ 29 июня 2011

Мне интересно, как я могу получить доступ к объекту исключения, используя атрибут on-exception? Моя текущая конфигурация выглядит так:

<transition on-exception="{business_exception}" to="errorView" >
</transition>

Мне нужно получить доступ к некоторому атрибуту исключения в errorView. Кто-нибудь знает, как я могу это сделать?

Ответы [ 2 ]

9 голосов
/ 29 июня 2011

Это довольно недокументированная часть Spring Web Flow, но в соответствии с этой веткой на форуме SpringSource вы можете получить доступ к исключению прямо в своем представлении в виде атрибутов stateException иrootCauseException.

2 голосов
/ 24 марта 2012

rootCauseException и flowExecutionException - правильные переменные в области видимости, доступные в потоке.Эти переменные заполняются после перехода в новый поток, поэтому в псевдо-смысле:

<transition on-exception="{business_exception}" to="errorView" >
</transition>

<view-state id="errorView">
  <on-entry>
    <evaluate expression="exceptionHandler(flowExecutionException)"/>
    <evaluate expression="exceptionHandler(rootCauseException)"/> 
  </on-entry>
</view-state>
...