我的Freemarker地圖有一個奇怪的問題。我的例子是指與相關業主的姓名,以顯示汽車列表:隨機訪問時缺少Freemarker中map(key,value)的值嗎?
Car(id,name,ownerId)
User(id,name)
注意,ownerId
是我可以從car
訪問owner
唯一的橋樑。出於某些原因,我們不爲這些域創建hibernate關係。
我添加到模型列表Car(id,name,ownerId)
carList
並含有的(userId, name)
所有用戶Map<String, String> map
..這是因爲Freemarker的唯一類型爲String的鍵接受地圖。
在循環播放carList時,我嘗試通過地圖獲取所有者名稱。
<#list carList as car>
${map?values[car.ownerId]} - ${car.ownerId}<br/>
</#list>
但是奇怪的是,結果我得到:
Tom - 1
Jerry - 2
Jerry - 2
David - 4
- 5
- 5
的用戶「5」名稱缺失,但在數據庫中存在。此外,當我遍歷圖的結果是正確的:
<#list map?keys as key>
${key} - ${map[key]}
</#list>
結果:
1 - Tom
2 - Jerry
3 - Mickey
4 - David
5 - Mike
缺少的名字碰巧只有特定的用戶。有誰知道這裏缺少什麼?
注意:沒有太多的用戶和汽車(兩者都不超過100個),所以我認爲加載它們並不是一個問題。 – 2011-06-02 08:38:49