2012-08-05 143 views
0

從我的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 
    ] 

我不知道爲什麼是Districtnull對象的數組。我期待看到district names。有什麼想法嗎?

+0

什麼是'ctv'變量?它有'區'屬性嗎?您是否以任何大寫字母開頭的財產? – 2012-08-05 07:47:58

+0

'ctv'是包名,'District'是域名。我沒有任何以大寫字母開頭的財產。 – cybertextron 2012-08-05 13:59:51

回答

1

你確定它們是空的嗎?或者是toString()方法返回null"null"

+0

它來自'<%println ctv.District.list(); %>'.. – cybertextron 2012-08-05 02:58:49

+0

我有一個'公共字符串的ToString(){ \t \t名 \t}'的'Stream'類,但這不是理由 – cybertextron 2012-08-05 03:02:59

+0

你怎麼知道的?怎麼樣嘗試'println ctv.District.list()。collect {it? 「(名稱:$ it.name,id:$ it.id)」:「N00LL」}'? – 2012-08-05 14:37:22

0

你也許修改過區嗎?假設它是一個域對象,並且您處於開發模式,grails將重置內存數據的任何自定義加載。在這種情況下重新啓動可能會解決問題。

+0

邁克爾,領域對象沒關係......我不知道爲什麼我得到那些空對象。只是爲了好奇,數組中的'null'對象的數量等於'Districts'的數量。 – cybertextron 2012-08-05 07:23:09

相關問題