我有一个流程定义为流程
<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'。转换中忽略第二个表达式。为什么会这样?
答案 0 :(得分:2)
如果在转换上定义了多个操作,如果返回错误结果,则不会执行该组中的其余操作。
现在,在阅读该部分时,我认为只有false
才会被视为错误结果,但也许除了“成功”值之外的任何其他内容。你的经历似乎证明了这一点。 (我以为我找到了一个列表,其中返回值被认为是成功和失败,但我现在没有找到它。)
但是,您可以使用<evaluate>
而不是<set>
吗?
<transition on="login" to="view1" >
<set name="viewScope.t1" value="'test1'" />
<set name="viewScope.t2" value="'test2'" />
</transition>