【发布时间】:2011-01-07 09:43:03
【问题描述】:
如何通过不是域类实例的控制器将参数传递给 groovy 服务器页面?
【问题讨论】:
如何通过不是域类实例的控制器将参数传递给 groovy 服务器页面?
【问题讨论】:
您将参数放入返回给您的 GSP 的模型对象映射中,例如:
def index = { def hobbies = ["basketball", "photography"]
render(view: "index", model: [name: "Maricel", hobbies: hobbies]) }
然后您可以通过您在模型映射中使用的名称访问这些值,例如:
My name is ${name} and my hobbies are:
<ul>
<g:each in="${hobbies}" var="hobby">
<li>${hobby}</li>
</g:each>
</ul>
应该显示以下内容:
My name is Maricel and my hobbies are:
- basketball
- photography
【讨论】:
最清晰的方法可能是从您的控制器操作中返回一个地图:
...
def myAction = {
[myGreeting: "Hello there, squire!"]
}
...
现在您可以在 GSP 页面中访问该参数(默认为 myAction.gsp):
...
<p><%= myGreeting %></p>
...
更多细节在这里: http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1.3%20Models%20and%20Views
【讨论】:
你可以这样做:
在控制器中:
def myaction = {
String name = "Tony Danza"
[name: name]
}
在 gsp 页面中,您可以像这样查看名称:
<body>
My name is ${name}
</body>
【讨论】:
您在与 gsp 同名的控制器的闭包中返回参数。
【讨论】: