代码

${personRequest.constraints.requestStatus.inList}

在我的 gsp 文件中抛出一个 NullPointerException, , 但 new PersonRequest().constraints.. 作品。为什么?不是 constraints 静止的?

有帮助吗?

解决方案

复制自 这里 (grails 用户邮件列表)

但是,为什么要进入静态场不起作用呢?

因为“约束”静态字段是封闭属性。它没有与约束有关的子专业。

Grails 使用一个 约束生成器,它可以监控 "调用 "不存在的方法、 即您使用的属性名称:

type( inList: [xxxxx])

...导致使用包含“ inlist”的映射参数==>的方法调用“键入”。

根据这些信息,Grails 建立了一个 所有限制条件清单
并将其与未来的 域类的实例。

因此,当您访问用户时。
关闭。

我们可以考虑更换数值 的静态约束属性 在运行时评估 闭包的初始化。不过,这可能有点 "过 "了 魔术人们怎么看?

顺便说一下,现在之所以这样,是因为直到 0.4 中(如果我还记得的话)的约束不是静态的,而在 0.4 中,它们可以 仍然是非静态的。只需要0.5
我们是否会抛出异常/忽略 非静态约束

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top