Session 如何使会话数据只保留两个请求

Session 如何使会话数据只保留两个请求,session,grails,Session,Grails,Grails:我只希望存在两个相应重定向的数据。如果我使用会话,它将保持用户浏览器打开的时间,有时甚至更长。如果我使用flash,它将只在下一个gsp文件呈现之前运行。我的控制器A使用一些数据重定向到另一个控制器B。数据被存储,直到B的视图B.gsp被呈现。现在,在b.gsp中,用户将填写一些表格并提交它,以便向b中的另一个操作发送另一个请求。我希望A的数据保留到这一点,不再保留。(两个请求正确?一个重定向,另一个提交) 好的,你可能会说,为什么不把它放在会话中,并在请求返回到A时清除该会话条目

Grails:我只希望存在两个相应重定向的数据。如果我使用会话,它将保持用户浏览器打开的时间,有时甚至更长。如果我使用flash,它将只在下一个gsp文件呈现之前运行。我的控制器A使用一些数据重定向到另一个控制器B。数据被存储,直到B的视图B.gsp被呈现。现在,在b.gsp中,用户将填写一些表格并提交它,以便向b中的另一个操作发送另一个请求。我希望A的数据保留到这一点,不再保留。(两个请求正确?一个重定向,另一个提交)

好的,你可能会说,为什么不把它放在会话中,并在请求返回到A时清除该会话条目。但是,如果用户转到b.gsp,出于某种原因导航到其他页面而不提交数据,那么会怎么样呢?在这种情况下,会话数据不会被清除。它会留在系统中,这会破坏我应用程序中的一些东西

或者你可能会说,为什么不使用flash,在b.gsp中放置一个隐藏字段,其中的值通过flash传递,并在下一次请求b的第二个操作时将其提交。但是没有;假设由于某种原因,我无法访问b.gsp(b和b.gsp是完全独立的系统的一部分)。我不能惹他们

我试图阅读grails中的web流和子流,但我看不出这有什么帮助。我想Webflows是在同一个控制器中工作的(但我不确定)

有什么帮助吗

谢谢

考虑使用grails。根据文件:

[Chain]使用闪存在HTTP从一个操作重定向到另一个操作后隐式保留模型

并可用作:

def one() {
    chain action: 'two', model: [name: 'Tony', town: 'Birmingham']
}

def two() {
    [name: 'Anthony', country: 'England']
}
考虑使用grails。根据文件:

[Chain]使用闪存在HTTP从一个操作重定向到另一个操作后隐式保留模型

并可用作:

def one() {
    chain action: 'two', model: [name: 'Tony', town: 'Birmingham']
}

def two() {
    [name: 'Anthony', country: 'England']
}

旅行,所以我不能发布一个完整的答案,但我认为一次性数据插件将非常适合你:旅行,所以我不能发布一个完整的答案,但我认为一次性数据插件将非常适合你:看起来很有希望。我会尝试一下,然后再联系你,看起来很有希望。我会试着给你回电话