2

谁能告诉我为什么这行得通

<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 

我怎样才能让它工作?

谢谢

4

2 回答 2

5

改变

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

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

您正在迭代“新闻”而不是新闻 var 中的返回结果。

于 2010-03-22T20:18:48.123 回答
3

您应该通过将非 UI 代码放入控制器或服务中并将数据传递给模型中的视图来使其工作。在 GSP/JSP/etc 中进行数据库工作或其他业务逻辑是一个非常糟糕的主意。MVC 是关于分离关注点。

于 2010-03-22T19:31:14.947 回答