加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

grails – 为什么.collect()不能在以下GString中工作?

发布时间:2020-12-14 16:26:24 所属栏目:大数据 来源:网络整理
导读:这在GSP页面中按预期工作: td${Foo.findAllByBar(bar)}/td 但是当添加一个collect语句时代码会中断.. td${Foo.findAllByBar(bar).collect { it.name }}/td 同 Error 500: Could not parse script [...gsp]: startup failed,...: 129: expecting '}',found '
这在GSP页面中按预期工作:

<td>${Foo.findAllByBar(bar)}</td>

但是当添加一个collect语句时代码会中断..

<td>${Foo.findAllByBar(bar).collect { it.name }}</td>

Error 500: Could not parse script [...gsp]: startup failed,...: 129: expecting '}',found ')'
     @ line 129,column 196. 1 error`.

我的印象是,任何有效的Groovy代码都可以放在GString ${…}中并正确评估/扩展.我错过了什么?

解决方法

GSP解析器不喜欢${…}块中的}.试试这个:

<%= Foo.findAllByBar(bar).collect { it.name } %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读