为什么grails会返回一个空对象数组?
从我的create.gsp
页面,我希望看到我的数据库中可用的所有districts
的列表。为什么grails会返回一个空对象数组?
<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>
但是,我看到了<select>
声明不为空,但看不到任何名称。当我加入println
,我看到:
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
]
我不知道为什么是District
null
对象的数组。我期待看到district names
。有什么想法吗?
你确定它们是空的吗?或者是toString()
方法返回null
或"null"
?
它来自''.. – cybertextron 2012-08-05 02:58:49
我有一个'公共字符串的ToString(){ \t \t名 \t}'的'Stream'类,但这不是理由 – cybertextron 2012-08-05 03:02:59
你怎么知道的?怎么样尝试'println ctv.District.list()。collect {it? “(名称:$ it.name,id:$ it.id)”:“N00LL”}'? – 2012-08-05 14:37:22
你也许修改过区吗?假设它是一个域对象,并且您处于开发模式,grails将重置内存数据的任何自定义加载。在这种情况下重新启动可能会解决问题。
迈克尔,领域对象没关系......我不知道为什么我得到那些空对象。只是为了好奇,数组中的'null'对象的数量等于'Districts'的数量。 – cybertextron 2012-08-05 07:23:09
什么是'ctv'变量?它有'区'属性吗?您是否以任何大写字母开头的财产? – 2012-08-05 07:47:58
'ctv'是包名,'District'是域名。我没有任何以大写字母开头的财产。 – cybertextron 2012-08-05 13:59:51