2016-05-20 1 views
-1

Один из способов передачи данных в виде от <g:include - это мои передаваемые данные через атрибут model. Как получить данные из действия контроллера, переданного в <g:include?Grails: Как получить модель, прошедшую через <g: включить внутри действия, прежде чем она попадет в представление?

Например, я сделал. <g:include controller="Book" action="list" model="${name: 'xyz'}" />

Я не мог получить доступ к значению, хранящемуся в атрибуте model, изнутри действия list. Но переменная name со значением xyz была доступна в list.gsp.

+0

Ваш вопрос не ясен. Пожалуйста, объясните это больше. –

+0

@ShashankAgrawal Обновлено. Теперь ясно? –

+0

Нет, еще нет :-) Исходя из моего понимания, вы находитесь в любом действии (кроме 'list'), и хотите включить ответ« list' action 'Book' controller, и вы хотите передать параметр' name' со значением 'xyz' в действие' list' контроллера 'Book'? –

ответ

0

Доступ к этим параметрам осуществляется так же, как вы обычно получаете доступ к параметрам в Grails - с помощью объекта params. «Модель», пройденная, - это просто карта, которая связывает grails с объектом params.

Например, допустим, что в GSP имеется следующая строка.

<%-- Just an example, you probably shouldn't set a map this way. --%> 
${someModel = [someParam: 'SomeValue'] } 
<g:include model="${someModel}" controller="someController" action="someAction" /> 

Тогда внутри someController/SomeAction вы могли бы получить доступ к этой модели, выполнив:

if (params.someParam) { 
    //Do Something 
} 
+0

Я пробовал это. Я не работал. Однако я нашел карту, оцененную на представлении, отображаемом контроллером. –

Смежные вопросы