Pergunta

Alguém pode me dizer por que isso funciona

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

Mas isso não?

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

Parte da exceção é

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

Como posso fazer funcionar?

Obrigado

Foi útil?

Solução

Mudar

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

para

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

Você está iterando "Notícias" em vez do resultado retornado na notícia VAR.

Outras dicas

Você deve fazê-lo funcionar colocando o código não UI no controlador ou um serviço e passando os dados para as visualizações no modelo. É uma idéia muito ruim fazer o trabalho de banco de dados ou outra lógica de negócios em um GSP/JSP/etc. O MVC é sobre separar preocupações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top