Gorm findAllBy внутри gsp сомнения - PullRequest
2 голосов
/ 22 марта 2010

Может кто-нибудь сказать мне, почему это работает

<g:each var="n" in="${com.pp.News.list()}">
 <h2>${n.t}</h2>
 <p>${n.tx}</p>
</g:each>

но это не так?

<g:set var="news" value="${com.pp.News.findAllByShow(true,[sort:'prio', order:'desc',max:5])}" />
<g:each var="n" in="news">
   <h2>${n.t}</h2>
    <p>${n.tx}</p>
  </g:each>

Часть исключения

Exception Message: No such property: t for class: java.lang.String 

Как мне заставить это работать?

Спасибо

Ответы [ 2 ]

5 голосов
/ 22 марта 2010

Изменение

<g:each var="n" in="news">

до

<g:each var="n" in="${news}">

Вы перебираете "новости" вместо возвращенного результата в переменной новостей.

3 голосов
/ 22 марта 2010

Вы должны заставить его работать, помещая не-UI-код в контроллер или службу и передавая данные представлениям в модели. Это действительно плохая идея - работать с базой данных или другой бизнес-логикой в ​​GSP / JSP / etc. MVC о разделении интересов.

...