弹簧的Webflow,评估表达在过渡忽略(spring webflow, evaluate expr

2019-09-22 08:18发布

我有一个流定义为流动

<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>

View1.xhtml:

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

在view1.xhtml,我打印的两个变量t1和t2,但只有“TEST1”被打印。 在过渡的第二表达被忽略。 为什么会这样?

Answer 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>


文章来源: spring webflow, evaluate expression ignored in transition