我是Grails的新手,我正忙着参加会议..
在控制器中,如何检查用户是否具有有效会话?在Java / Spring MVC中,它是简单的request.getSession(),那么Grails中的常规是什么?
如何从会话中添加/获取值?
谢谢,
答案 0 :(得分:4)
Grails使用与Java EE相同的servlet API,但它提供了一些额外的便利方法。在Grails控制器,taglib或GSP中,隐含变量request
和session
引用当前HTTPServletRequest和HttpSession。
以下是Grails如何使用这些对象稍微方便一些的示例:
Object fooAttr = session.getAttribute("foo");
def fooAttr = session["foo"]
答案 1 :(得分:3)
您可以使用“会话”对象
答案 2 :(得分:1)
用户登录后,在会话中设置值(用户名)。 例如,您的域类是User.groovy。因此,在您在控制器中的登录方法中,您可以执行以下操作:
def login()
{
def u = new User()
u.properties[
'login',
'password',
] = params
if(u.save())
session.user = u
}
之后,每当您想要检查会话是否仍然开启时,只需执行
if(session.user != null)
//your code
答案 3 :(得分:0)
会话对象有两个方法,即getAttribute()和setAttribute(),可用于在会话中获取/设置值。