как передать параметры на страницу сервера groovy через контроллер, который не является экземпляром класса домена?
Параметр gsp, передаваемый от контроллера
Ответ 1
Вы помещаете свои параметры в карту объектов модели, возвращенную в ваш 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
Ответ 2
Самый яркий способ - это, вероятно, вернуть карту из действия вашего контроллера:
...
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
Ответ 3
Вы можете сделать это следующим образом:
В контроллере:
def myaction = {
String name = "Tony Danza"
[name: name]
}
На странице gsp вы можете просмотреть имя так:
<body>
My name is ${name}
</body>
Ответ 4
Вы возвращаете параметры в закрытии контроллера с тем же именем, что и gsp.