session - Grails在Service类中获得Session和Management

标签 session grails service nullpointerexception httpsession

我在Grails Session上遇到问题。我当时正在考虑为 session 处理设置一个服务类。因此,我创建了一个名为“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")
    }
}

现在的问题是,我得到一个Nullpointer-Exception:“方法引发'java.lang.NullPointerException'异常。无法评估org.codehaus.groovy.grails.web.servlet.mvc.GrailsHttpSession.ToString()”。

我的服务等级的用法,例如在 Controller 中:
class SampleController {

    SessionService sessionService

    def selectAnything = {

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

我在这里做错了什么?这是正确的方法吗?还是在每种方法中都必须设置“session = request.session”?

希望得到您的帮助。

提前非常感谢您。

干杯,

马可

最佳答案

RequestContextHolder来自哪里?在grails 3.3.8中不可见(至少在插件中)

关于session - Grails在Service类中获得Session和Management,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062605/

相关文章:

PHP cookie、 session 、mysql

testing - Grails 2.0 集成测试污染?

grails - 如何在Grails中使用 “if”语句使用findAll在搜索之前验证字段是否为空

Windows 服务启动参数

c# - WMI MangementObject.InvokeMethod()

android 如何在服务窗口的编辑文本中显示复制和粘贴上下文 View

Facebook-API 中的 session key 和访问 token

reactjs - 从连续 react 中读取 session 存储的变化

windows - 如何使用 Windows 从客户端覆盖 X2GO_NXAGENT_DEFAULT_OPTIONS?

grails - Grails 2.5不会将父级的属性类的分配保存在子类中