Весенний поток | Другой метод проверки для каждого перехода
В настоящее время у меня есть приложение Spring Webflow, которое использует Webflow + Ajax.
У меня есть состояние просмотра под названием "А", которое имеет несколько переходов.
<view-state id="A" model="myClass">
<transition on="X1" .../>
<transition on="X2" .../>
<transition on="X3" .../>
</view-state>
Проблема в том, что каждый переход должен проверять только часть myClass, а не все. По умолчанию Spring Webflow имеет единственный метод для проверки.
По сути, мне нужно вызывать разные методы проверки для каждого перехода вместо одного.
Это возможно? Есть идеи, как это сделать?
Заранее спасибо!!!
2 ответа
Почему бы не использовать один ValidationClass для просмотра состояния? Вы можете получить событие, которое вызывает проверку, вызвав
public String getUserEvent();
на ValidationContext. Затем, в зависимости от результата, сделайте все, что вы хотите проверить.
Можно использовать атрибут с именем 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
,