${personRequest.constraints.requestStatus.inList}
我得到一个NullPointerException抛出一个NullPointerException
,但new PersonRequest().constraints..
作品。为什么?是不是constraints
是静态的?
${personRequest.constraints.requestStatus.inList}
我得到一个NullPointerException抛出一个NullPointerException
,但new PersonRequest().constraints..
作品。为什么?是不是constraints
是静态的?
从here(Grails的用户邮件列表)
复制,但为什么accesing到静态字段 不工作?
因为“约束”静态字段 是一个闭包属性。它没有 与 约束有关的子属性。
Grails的评估使用 约束建立器,监视 “来电”的方法不存在, 即您使用属性名称此封:
type(inList: [xxxxx])
...导致方法调用“类型”与 一个Map参数包含“inList” ==>一些值。
从这个信息,Grails的构建了所有的约束 列表
可用并将它们绑定到域类的未来 实例。因此,当您静态访问User.constraints 时,您将得到一个
关闭。我们-could-看评估 闭幕与初始化后更换运行时的值静态约束属性 的 。但是这可能会有点“太多”的魔力。人们认为什么?
FYI是这样的,现在因为直到 0.4(如果我记得)制约因素不是一成不变的,而在0.4它们可以 还是非静态的。只有在0.5
我们会抛出一个异常/忽略 非静态约束。