2

我有一个流定义为流

<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”。第二个表达式在转换中被忽略。为什么会这样?

4

1 回答 1

2

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>
于 2012-09-12T15:07:27.630 回答