2014-01-16 197 views
0

我有這個訪問在EL嵌套對象

Class Output { 
    HashMap<String,POC> hMap; 
    //Other stuff 
} 

Class POC { 
    String var1; 
    String var2; 
    String var3; 
    //Other stuff 
} 

Basially,對象的哈希表...

我使用Spring MVC框架和上面的兩個類是我的模型對象。我的服務類創建一個輸出對象,並傳遞給控制器​​。

控制器返回輸出對象的output.jsp的設置它作爲一個模型屬性稱爲output

在output.jsp的頁面後,我想不過顯示HashMap中存在的輸出對象的許多項目。例如,顯示存儲在物品1(存儲在HashMap中的鍵1)項目,這是我已經試過,硬運氣:

${output.hMap.key1.var1) 
${output.hMap['key1'].var1) 

,可是沒有工作我想它的方式。請任何人都可以幫助我,或至少建議一個替代方案。請分享你的想法

解決辦法: 我現在覺得自己很蠢。以上兩項工作。我之所以無法讓他們工作,是因爲我沒有將POC添加到哈希映射中,而是使用任何值初始化POC。

+0

什麼「它沒有按照我希望的方式工作」的意思?如何將對象添加到request/session/servlet上下文屬性中? –

+0

我使用'model.addAttribute(...)'來添加它' 我想出瞭解決方案,並且正在問題本身中進行更新。 – Nikhil

回答

4

您需要爲要在EL中使用的字段提供訪問器。

public class Output { 
    HashMap<String,POC> hMap; 


    public HashMap<String, POC> getHMap() { 
     return hMap; 
    } 

    public void setHMap(HashMap<String, POC> hMap) { 
     this.hMap = hMap; 
    } 
} 

同樣適用於POC類的屬性。

0

解決方案:現在我覺得很蠢。以上兩項工作。我之所以無法讓他們工作,是因爲我沒有將POC添加到哈希映射中,而是使用任何值初始化POC。