Grails GSP模型注入错误

Grails GSP模型注入错误,grails,model-view-controller,gsp,Grails,Model View Controller,Gsp,我有以下Grails 2.3.6控制器: @Slf4j class FizzController { def index() { List<Widget> widgets = getSomehow() log.info("About to render foo.gsp with ${widgets.size()} widgets.") render ( view: "foo",

我有以下Grails 2.3.6控制器:

@Slf4j
class FizzController {
    def index() {
        List<Widget> widgets = getSomehow()

        log.info("About to render foo.gsp with ${widgets.size()} widgets.")

        render (
            view: "foo",
            model: widgets
        )
    }
}
当我运行Grails run应用程序并将浏览器导航到:

http://localhost:8080/myapp/fizz
我看到我的foo-GSP视图/页面带有header标签,但它不显示任何其他内容。当我查看页面源代码时,我看到:

<div id="page-body">
    <h3>Widget List:</h3>
</div>
这表示我正在注入一个空列表,对吗

但是,在我的日志输出中,我看到:

即将使用1个小部件呈现foo.gsp


所以看起来我确实有一个非空的列表,但显然我没有将它正确地注入我的普惠制中。这是怎么回事?

您通过的模型不对,应该是地图:

    List<Widget> widgets = getSomehow()

    render (
        view: "foo",
        model:[ widgets:widgets ]
    )
然后您可以在gsp中访问它:

<g:each in="${widgets}" var="widget" >
  <h2>Name: ${widget.name}, Type: ${widget.type}</h3>
</g:each>
谢谢@injecteer-那么模型总是地图吗?
<g:each in="${widgets}" var="widget" >
  <h2>Name: ${widget.name}, Type: ${widget.type}</h3>
</g:each>