评估spring web flow

时间:2016-03-03 16:17:15

标签: java spring spring-webflow

我是Spring框架学习Spring mvc和spring web flow的新手。我在行动状态中看到了一个评估表达式

<evaluate expression = " requestParameters.ishotelbooking" result="flowScope.hotelbooking" />

无法弄明白究竟发生了什么?还有一件事,我明白我们正在为hotelbooking对象分配流量范围但是框架如何理解酒店预订是酒店类的对象,即我们如何理解这里的对象类型..有人可以指导我..提前感谢< / p>

1 个答案:

答案 0 :(得分:3)

此评估表达式采用“isHotelBooking”请求参数并将其复制到可在整个流程中使用的变量“hotelBooking”(flowScope)

因此,当调用操作状态时,可能在转换之后,在诸如“flowTransition?isHotelBooking = true”的请求中,请求参数“isHotelBooking”仅在请求中可用。因此,evaluate元素将其复制到整个流程中可用的另一个变量中。 基本上将变量的范围从请求扩展到流量范围

仅供参考,可以用

代替
<set name="flowScope.hotelBooking" value="requestParameter.isHotelBooking"/>

[UPDATE]

对于类型,evaluate元素具有result-type属性,可用于进一步定义结果的类型。如果未指定,Webflow假定它是Object类型。

类/类型并不总是重要的,因为评估是在运行时完成并使用EL完成的。虽然使用IDE(如IntelliJ或STS)非常有用,但您可以利用自动完成功能。