我收到此错误
错误500:执行控制器[org.gamestrike.PaymentController]的动作[pay]导致异常:groovy.lang.MissingMethodException:没有方法签名:org.gamestrike.PaymentController.session()适用于参数类型:( java.lang.String)values:[2011-09-15]可能的解决方案:getSession() Servlet:Grails URI:/GameStrike/grails/payment/pay.dispatch 异常消息:没有方法签名:org.gamestrike.PaymentController.session()适用于参数类型:(java.lang.String)值:[2011-09-15]可能的解决方案:getSession() 引发者:没有方法签名:org.gamestrike.PaymentController.session()适用于参数类型:(java.lang.String)值:[2011-09-15]可能的解决方案:getSession() 类:PaymentController 在线:[35] 代码段:
答案 0 :(得分:1)
如果没有你的代码,很难说,但看起来你正在将session
视为一种方法,但事实并非如此。它是一个对象 - HttpSession
实例。
您可以在其上调用标准方法,例如getAttribute
和setAttribute
,但Grails增加了便利行为。它的作用类似于Map
,因此要设置或获取属性,您可以执行此操作:
def foo = session.foo // session.getAttribute('foo')
session.bar = 123 // session..setAttribute('bar', 123)