Grails g:每个标签

Posted

技术标签:

【中文标题】Grails g:每个标签【英文标题】:Grails g:each tag 【发布时间】:2012-08-17 04:56:29 【问题描述】:

在 grails 中,我试图为该授权用户打印名为 Child 的域的每个实例。

我正在使用以下内容:

 <g:each var="child" in="$Child">
    <p>Name: $child.firstname</p>
    <p>Surname: $child.lastname</p>
 </g:each>

每个用户可以有几个孩子(孩子),我希望它列出当前登录用户的孩子。 我正在使用 spring 源安全核心插件进行登录等。

这是我的例外:

类:groovy.lang.MissingPropertyException 消息:没有这样的 属性:类名:com.fyp.timeline.Child 可能 解决方案:名字,姓氏

有什么想法吗?

【问题讨论】:

【参考方案1】:
<g:each var="child" in="$user.children">
   <p>Name: $child.firstname</p>
   <p>Surname: $child.lastname</p>
</g:each>

user 是登录用户的实例,其中

User
    static hasMany=[children:Child]

【讨论】:

这就是我所追求的,谢谢。但是,我现在确实得到了一个空指针,这显然是因为还没有输入任何子级。有没有办法解决这个问题?因此,如果没有孩子,它不会打印任何内容。 每个在 groovy 中都是空安全的,所以它不应该抛出 NPE。 我在浏览器中获得了一个空指针,并且无法从 IDE 的静态上下文中引用非静态符号“子项”。我认为这不应该发生任何想法?? 等等,为什么是静态的? user 是登录用户的一个实例。 我假设 static hasMany=[children:Child] 使它成为静态的。

以上是关于Grails g:每个标签的主要内容,如果未能解决你的问题,请参考以下文章

Grails GSP <g:set> 标签设置为整数?

Grails:从另一个标签库中调用一个标签库

我可以在 GSP 之外使用 grails 标签吗?

在控制器中渲染 Grails 标签

提交 Grails 表单都有哪些方便的技巧?

Grails 3 CSRF 保护