2

我有一个包含一些控制器、视图和布局的应用程序。我基本上是在尝试将一些数据从控制器传递到视图。有问题的视图使用布局文件夹中名为 main.gsp 的布局。所以我使用下面的代码来尝试将数据传递给视图:

def index = {

        String test = "Testing"
                println(test)
        render(view:"index", name: test)
    }

然后在视图上看起来像这样:

<html>

<head>
    <title>My App</title>
    <meta name="layout" content="main" />
</head>

<body>

        <h1>${name}</h1>
.......

然后当我运行应用程序时,我可以看到打印数据很好但是没有数据传递给视图,这是因为使用了布局吗?如果是这样,我该如何解决?我是否改为访问元对象?提前致谢 :-)

4

2 回答 2

4

试试这个:

def index = {
    String test = "Testing"
    println(test)
    [name: test]
}

这将按照惯例呈现您的index视图。

从您的控制器中,您必须将model(地图)传递给您的视图。

现在您可以在视图中使用返回地图的元素:

<h1>${name}</h1>

有关更多信息,请参阅文档

于 2012-10-30T13:03:42.517 回答
1

来自 aiolos 的示例是正确的,但是当您确实需要对模型中的某些数据使用方法 render() 时,您必须这样调用它:

render( view:'index', model: [ 'name':test ] )
于 2012-10-30T13:09:48.667 回答