Весенний поток | Другой метод проверки для каждого перехода - PullRequest
1 голос
/ 16 ноября 2011

В настоящее время у меня есть приложение Spring Webflow, которое использует Webflow + Ajax.

У меня есть состояние просмотра "A", которое имеет несколько переходов.

<view-state id="A" model="myClass">
    <transition on="X1" .../>
    <transition on="X2" .../>
    <transition on="X3" .../>
</view-state>

Проблема в том, что каждый переход должен проверять только часть myClass, а не все. По умолчанию Spring Webflow имеет единственный метод для проверки.

По сути, мне нужно вызывать разные методы проверки для каждого перехода вместо одного.

Возможно ли это? Есть идеи как это сделать?

Заранее спасибо !!!

Ответы [ 2 ]

3 голосов
/ 16 ноября 2011

Почему бы не использовать один ValidationClass для состояния просмотра? Вы можете получить событие, которое запускает проверку, вызвав

public String getUserEvent();

в ValidationContext. Затем, в зависимости от результата, сделайте все, что вы хотите проверить.

1 голос
/ 16 ноября 2011

Можно использовать атрибут с именем validatorMethod, чтобы указать конкретный метод для вызова валидатора, как описано здесь . Вот модифицированный пример из Javadoc, показывающий, как это сделать:

<view-state id="displayCriteria">
    <on-render>
        <evaluate expression="formAction.setupForm"/>
    </on-render>
    <transition on="search" to="executeSearch">
        <evaluate expression="formAction.bindAndValidate">
            <attribute name="validatorMethod" value="validateSearchCriteria"/>
        </evaluate>
    </transition>
</view-state>

Предполагается, что валидатор, определенный для searchFormAction, имеет метод с именем validateSearchCriteria.

...