передача параметров gsp от контроллера - PullRequest
12 голосов
/ 07 января 2011

как я могу передать параметры на страницу Groovy Server через контроллер, который не является экземпляром класса домена?

Ответы [ 4 ]

22 голосов
/ 09 января 2011

Вы помещаете свои параметры в карту объектов модели, возвращенную в ваш 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
8 голосов
/ 07 января 2011

Самый простой способ - вернуть карту из действия вашего контроллера:

...
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

6 голосов
/ 08 января 2011

Вы можете сделать это так:

В контроллере:

def myaction = {
    String name = "Tony Danza"
    [name: name]
}

На странице gsp вы можете посмотреть имя так:

<body>
    My name is ${name}
</body>
0 голосов
/ 07 января 2011

Вы возвращаете параметры в замыкании контроллера, имя которого совпадает с именем gsp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...