评估 spring 网络流中的表达式

Evaluate expression in spring web flow

我是 Spring 框架学习新手 Spring mvc 和 spring 网络流程。我在动作状态

中遇到了一个求值表达式
<evaluate expression = " requestParameters.ishotelbooking" result="flowScope.hotelbooking" />

无法弄清楚到底发生了什么??还有一件事我知道我们正在为酒店预订对象分配流范围但是框架如何理解酒店预订是酒店的对象 class 即我们如何理解这里的对象类型..有人可以指导我..提前致谢

此求值表达式采用 "isHotelBooking" 请求参数并将其复制到变量 "hotelBooking" 中,该变量将在整个流程 (flowScope) 中可用

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

仅供参考,这可以替换为

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

[更新]

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

class/type 并不总是很重要,因为评估是在运行时使用 EL 完成的。尽管如果您使用 IDE(如 IntelliJ 或 STS)它很有用,因此您可以利用自动完成功能。