spring webflow, оценочное выражение игнорируется при переходе

У меня есть определение потока как потоки

<view-state id="view1" view="/jsp/view1.xhtml">
    <transition on="login" to="view1" >
       <evaluate expression="'test1'" result="viewScope.t1"/>
       <evaluate expression="'test2'" result="viewScope.t2"/>
    </transition>
</view-state>

Вид1.xhtml:

${t1}<br/>
${t2}

В view1.xhtml я напечатал две переменные t1 и t2, но печатается только «test1». Второе выражение игнорируется при переходе. Почему это произошло?


person Raistlin    schedule 12.09.2012    source источник


Ответы (1)


http://static.springsource.org/spring-webflow/docs/2.3.x/reference/htmlsingle/spring-webflow-reference.html#view-transitions

Когда для перехода определено более одного действия, если одно из них возвращает результат ошибки, остальные действия в наборе не будут выполняться.

Теперь, также читая этот раздел, я подумал, что только false будет считаться результатом ошибки, но, возможно, это что-то иное, чем значения «успеха». Ваш опыт, кажется, подтверждает это. (Я думал, что нашел где-то список того, какие возвращаемые значения считаются успехом и неудачей, но я не нахожу его прямо сейчас.)

Но вместо <evaluate> можно использовать <set>?

<transition on="login" to="view1" >
    <set name="viewScope.t1" value="'test1'" />
    <set name="viewScope.t2" value="'test2'" />
</transition>
person dbreaux    schedule 12.09.2012
comment
Большое Вам спасибо. Это очень полезно. Кажется, я обновился не в том месте. - person Raistlin; 13.09.2012