2017-06-21 108 views
0

我使用Grails 2.5.1我正在尝试设置会话变量的控制器和另一个控制器检查,但该变量带着null设置会话变量

这里是控制器我设置会话变量:

def setSessionForHR() { 

     session.isCallingHR='true' 

    } 
在下面控制器

我检查值,但该值null

println("check : $session.isCallingHR ") // here i get null 
if (session.isCallingHR=='true') 
    { 
     //do something 
    } 

我错过了什么?

感谢

+0

'调用println( “检查:$ {} session.isCallingHR”)'这里你应该为什么您使用可把括号真字符串为true,并且不将它设置为正确的真实值'session.isCallingHR = true'并通过测试if(session.isCallingHR){做点什么' – Vahid

+0

@vahid就像你刚才提到的那样仍然得到'null' – SShehab

+0

不知道该怎么做告诉你会话做的工作,也许这是既然是,并有特殊的话。尝试替代方案session.test ='something'然后在另一个控制器中查看它。试试另一个版本的grails来查看问题是否消失。一个更高,一个更低2.4.5 – Vahid

回答

0
def setSessionForHR() 
{ 

//session.isCallingHR='true' 
session["isCallingHR"]='true' 

} 

------------------------------------------ 

println(session["isCallingHR"])  
def isCallingHR=session["isCallingHR"] 
if (isCallingHR) 
{ 
    //do something 
} 

----------------------------------------- 

请参照下面的链接了解更多信息 http://docs.grails.org/3.1.1/ref/Servlet%20API/session.html

+0

虽然这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/16496827) – Sanoop

+0

我已经改正了他在代码中的错误。 我只是给了链接更多的信息,以了解Grails中的会话。 而且我给了grails官方页面的链接。 这不仅仅是一些其他的第三人博客.. – leen