Grails GSP模型注入错误
我有以下Grails 2.3.6控制器: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",
@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>