gpt4 book ai didi

session - session 变量在Grails中不起作用

转载 作者:行者123 更新时间:2023-12-02 14:01:34 25 4
gpt4 key购买 nike

我尝试在一个 Controller 中创建新 session 并设置变量,并将该变量从 session 中移至另一操作。但是 session 返回空值。我使用Grails 2.3.7。

class AuthorizationController {

def signIn = {

def session = request.getSession(true)
session.setAttribute('username', 'zzzz')
println(session.getAttribute('username')) // <-- here work
redirect(action: logout)
}

def logout = {
println(session.getAttribute('username')) // <-- here not work
}
}

最佳答案

将代码更改为:

class AuthorizationController {

def signIn() {
session.username = 'zzzz'
println(session.username)
redirect(action: 'logout')
}

def logout() {
println(session.username)
}
}

您不必创建新的 session ,可以直接使用 Controller 可用的 session变量。另外,您不必使用getters和setters来获取和设置 session 值。您可以直接使用它们,就像我在上面的代码中提到的那样。

如果使用grails> 2.x,请避免在定义 Controller 操作时使用闭包。改用普通方法类型。

关于session - session 变量在Grails中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27794404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com