为什么grails会返回一个空对象数组?

为什么grails会返回一个空对象数组?,grails,groovy,Grails,Groovy,在我的create.gsp页面中,我希望看到数据库中可用的所有地区的列表 <td valign="top" class="value ${hasErrors(bean: streamInstance, field: 'district', 'errors')}"> <% println ctv.District.list(); %> <g:select name="district.id" from="${ctv.District.list()}

在我的
create.gsp
页面中,我希望看到数据库中可用的所有
地区的列表

<td valign="top" class="value ${hasErrors(bean: streamInstance, field: 'district', 'errors')}">
    <% println  ctv.District.list(); %> 
    <g:select name="district.id" from="${ctv.District.list()}" optionKey="id" value="${streamInstance?.district?.id}"  />
</td>

我不知道为什么
District
null
对象的数组。我希望看到
地区名称
。有什么想法吗?

你确定它们是空的吗?或者
toString()
方法是否返回
null
或者
是否返回“null”

您是否可能修改了District?假设它是一个域对象,并且您处于开发模式,grails将重置内存中数据的任何自定义加载。重新启动可能会解决这种情况下的问题。

我在
类中有一个
公共字符串toString(){name}
,但这不是原因,你怎么知道?试试
println ctv.District.list().collect{it?”(name:$it.name,id:$it.id):“N00LL”}
?@VictorSergienko是的,现在我可以看到值
(name:,id:)
。如何在other中修改代码以显示
名称
字段?我将查看
名称
是否为常规字段以及是否已设置。如果它是一个更复杂的访问器,那么它的逻辑可能会被破坏;Burt认为它很可能是一个坏的
toString()
是最有可能的,
getName()
是下一个嫌疑犯:)顺便说一句,试试
optionValue
。Michael,域对象没问题。。。我不知道为什么我会得到那些
null
对象。出于好奇,数组中
null
对象的数量等于
区域的数量。什么是
ctv
变量?它是否有
地区
物业?您有没有以大写字母开头的酒店名称?
ctv
是套餐名称,
District
是域名。我没有任何以大写字母开头的属性。
    District = [
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null, null, null, null, 
              null, null, null, null, null, null
   ]