4

这在 GSP 页面中按预期工作:

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

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

<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${ ... }中并被正确评估/扩展。我错过了什么?

4

2 回答 2

6

或者,您可以使用扩展运算符

<td>${Foo.findAllByBar(bar)*.name}</td>
于 2009-11-13T19:00:47.860 回答
4

GSP 解析器不喜欢}${...}块内。试试这个:

<%= Foo.findAllByBar(bar).collect { it.name } %>
于 2009-11-13T14:09:21.600 回答