首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Grails在服务类中获取会话和管理

Grails在服务类中获取会话和管理
EN

Stack Overflow用户
提问于 2011-08-15 15:36:34
回答 4查看 26K关注 0票数 17

我对Grails会话有一个问题。我正在考虑为我的会话处理提供一个服务类。所以我创建了一个名为"SessionService“的类(在grails-app/services/grails/下)。

class SessionService {
    static transactional = true
    GrailsWebRequest request = RequestContextHolder.currentRequestAttributes()
    GrailsHttpSession session = request.session

    def setTestvar(String value) {
        if (session != null)
            session.setAttribute("sTeststring", value)
    }

    def getTestvar() {
        if (session != null)
            session.getAttribute("sTeststring")
    }
}

现在的问题是,我得到了一个空指针异常:"Method抛出了'java.lang.NullPointerException‘异常。无法计算空指针

my Service Class的用法,例如在控制器中:

class SampleController {

    SessionService sessionService

    def selectAnything = {

        sessionService.setTestvar("test-value")
        render(view: "testview")
    }
}

我到底做错了什么?这条路对吗?或者我必须在每个方法中都设置"session = request.session“?

希望能得到你的帮助。

非常提前感谢您。

干杯,

马可

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-15 18:36:28

RequestContextHolder是从哪里来的?它在grails 3.3.8中不可见(至少在插件中)

票数 31
EN

Stack Overflow用户

发布于 2012-12-03 22:01:10

下面是一些示例代码,其中我从服务中提取会话数据和请求数据,而不将请求或会话对象作为参数传递给服务。

package beecomplete

import org.codehaus.groovy.grails.web.util.WebUtils

class HelperService {

    public User getCurrentUser() {
        def webUtils = WebUtils.retrieveGrailsWebRequest()
        return User.findById(webUtils.getSession().userid)
    }

    public Object getModelAttribute(String key) {

        def webUtils = WebUtils.retrieveGrailsWebRequest()
        return webUtils.getCurrentRequest().getAttribute(key)
    }
}
票数 19
EN

Stack Overflow用户

发布于 2014-10-14 21:18:19

对于Grails的新版本(>2.2):

import org.codehaus.groovy.grails.web.util.WebUtils

....
HttpServletRequest request = WebUtils.retrieveGrailsWebRequest().currentRequest
HttpSession session = request.session
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7062605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档