def u = new User(params)
session.user = u
上面是用于在grails中设置会话的代码,但是当我稍后使用以下代码从会话中获取值时,它会为该值返回null。
session.getAttribute('username')
据我所知,如果属性不存在,getAttribute将返回null,那么是否有其他方式从会话中获取用户名?
答案 0 :(得分:1)
您将user
置于会话中,但请阅读username
。实际上,您可以更轻松地从会话中读取值,而无需使用getAttribute()
。我刚刚尝试使用Grails 3.2.4这段代码:
session.someValue = 'Hello World!'
println "session.someValue = $session.someValue"
,输出为:
session.someValue = Hello World!
因此,在您的情况下,您可以这样做:
def u = new User(params)
session.user = u // write to session
def userFromSession = session.user // read from session