Jakarta ee Grails2:关于GrailsWebFlow的查询
我正在使用Grails2.3.11。应用程序使用grailswebflow 流程包括四个选项卡,它们将被视为GrailsWebFlow的步骤。单击某个步骤将进入列表/搜索页面。第一次初始搜索将具有默认搜索参数值。同时,它存储到执行范围的活动会话的范围中 下面是代码片段Jakarta ee Grails2:关于GrailsWebFlow的查询,jakarta-ee,grails,grails-2.0,spring-webflow,Jakarta Ee,Grails,Grails 2.0,Spring Webflow,我正在使用Grails2.3.11。应用程序使用grailswebflow 流程包括四个选项卡,它们将被视为GrailsWebFlow的步骤。单击某个步骤将进入列表/搜索页面。第一次初始搜索将具有默认搜索参数值。同时,它存储到执行范围的活动会话的范围中 下面是代码片段 Object res=execution.getActiveSession().getScope().put(beanID,bean) 这里的execution是FlowExecution的参考 稍后,将使用活动会话本身检索此对象
Object res=execution.getActiveSession().getScope().put(beanID,bean)代码>
这里的execution
是FlowExecution
的参考
稍后,将使用活动会话本身检索此对象。下面是检索数据的代码段
objectobjectfound=execution.getActiveSession().getScope().get(beanID)代码>
在这两种情况下,beanID
是相同的
现在发生的事情是,当我把它放到活动会话中时,它不会给出错误,所以假设它被正确保存。但在另一个ajax请求中检索对象时,检索对象会返回null。表示找不到具有密钥的对象
然后奇怪的事情发生了,当我执行搜索操作时,执行了和上面提到的相同的操作。现在,使用同一个键进行检索时,它会返回对象,而不会得到空值
我的问题是为什么会发生这种情况?在这种情况下,web流是如何工作的
我认为在这两种情况下,它都应该根据插入对象的键返回对象
如果您需要有关查询的更多信息,请告诉我。我有点困惑,为什么不使用flow
scope?上面提到的代码片段是在另一个groovy类中编写的。这不是控制器动作的一部分。从action开始,流被引导到gsp页面,而不是其他页面。从该页面开始,通过ajax调用执行被用来获取存储在执行活动会话中的值。和flow
范围变量仅在控制器中可用。因此,不可能使用flow
scope变量。execution.getActiveSession().getScope()
相当于flow作用域,不是吗?它被视为流会话范围。它适用于SpringWebflow2.4,但我想Grails2使用的SpringWebflow2.0也会一样。