Неверный метод Длина кода на очень длинном шаблоне / представлении - PullRequest
0 голосов
/ 03 февраля 2011

У меня очень длинные шаблоны для отчета. Он содержит более 50 доменов Grails одновременно. Но когда я попытался загрузить до 25 доменов, он сказал «Недопустимая длина кода метода». Я сделал поиск в Google, и он рекомендует мне разделить / забить шаблоны.

Итак, я сделал следующие изменения:

до того, как появился один шаблон _template.gsp

но теперь: _template.gsp и _template2.gsp

но внутри _template.gsp я помещаю код, такой как

Теперь проблема Это не позволит загрузить модель / объекты, которые загружены в контроллер, в template2 ....

в моем контроллере:

Class AbcController{

def index = {
def myParrent = MyParrent.get(1);

def mode = [:];
model.obj1 = Obj.findAllByParrent(myParrent);
model.obj2 = Obj2.findAllByParent(myParrent);

...

model.obj50 = Obj50.findAllByParrent(myParrent);
model.obj51 = Obj51.findAllByParent(myParrent);

def str = render(template:"template", model:model);

render(str);
}

}

любая идея, почему модель загружена в _template.gsp, но не распознана в _template2.gsp

редактирование:

_template.gsp хотел бы этот (не так просто, как этот, потому что для каждого объекта домена мне нужно отображать по одному его поля)

<html><body>
<div>${obj1}</div>
<div>${obj2}</div>
<div>${obj3}</div>
....
<div>${obj24}</div>
<div>${obj25}</div>
......
<g:render template="template2"/>
.....
</body></html>

_template2.gsp:

    <div>${obj26}</div>
    <div>${obj27}</div>
    <div>${obj28}</div>
    ........
    <div>${obj50}</div>

Итак, на странице я хотел бы отобразить около 50 доменов одновременно (цель - заполнить форму, поэтому не вините меня, если мне нужно отобразить все данные сразу ...)

Спасибо

1 Ответ

0 голосов
/ 04 февраля 2011

Вам нужно передать модель (ы) в другой шаблон:

<g:render template="template2" model="[key:value]" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...