通过控制器向GSP提供模型的正确方法是什么,但也提供变量。我有一个不属于模型,但也需要由GSP提供。
我的开始:
def index = {
render controller:"test", action:"index", model:[user:user]
}
举个例子 - 我怎么修改它(错误地)我认为
def index = {
def url = "http://www.stackoverflow.com"
render controller:"test", action:"index", model:[user:user, testvar: url]
}
答案 0 :(得分:3)
在您的示例中,您应该能够编写如下内容:
def index = {
def url = "http://www.stackoverflow.com"
return [user:user, testvar: url]
}
默认情况下,Grails视图会自动从相关操作中获取变量返回值。这是通过映射视图路径 - 控制器/操作名称自动完成的。
如果你打电话给“渲染”,那就有点不同了。您可以渲染任何可能与您的控制器/操作无关的视图。我建议只在需要时使用它。
答案 1 :(得分:1)
您的代码看起来正确。这会将模型中的var发送到gsp,但如果您想将其发送到remoteFunction
中的javascript,则需要使用grails.converters.JSON
作为下一个:
render [var1:value1, var2,value2, ...] as JSON