GrailsSessionに問題があります。セッション処理用のサービスクラスを用意することを考えていました。そこで、「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()を評価できません"。
私のサービスクラスの使用法(例:コントローラー):
class SampleController {
SessionService sessionService
def selectAnything = {
sessionService.setTestvar("test-value")
render(view: "testview")
}
}
私はここで何が間違っているのですか?それは正しい方法ですか?または、すべてのメソッドで「session = request.session」を設定する必要がありますか?
あなたからの助けを得ることを願っています。
事前にどうもありがとうございました。
乾杯、
マルコ