为什么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
]