如何通过控制器将非领域类实例作为参数传递给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!"]
}
...
...
<p><%= myGreeting %></p>
...
def myaction = {
String name = "Tony Danza"
[name: name]
}
<body>
My name is ${name}
</body>
您可以返回与gsp同名的控制器闭包中的参数。