2013-09-01 61 views
1

我想從一個LinkedHashMap關鍵字從servlet到jsp獲取員工的名字。從servlet傳遞map關鍵屬性到jsp

我有這樣的代碼在Java類View.java

LinkedHashMap<Employee, LinkedHashMap<Skill, String>>() employeeSkills = new LinkedHashMap<Employee, LinkedHashMap<Skill, String>>(); 

類視圖具有employeeSkills getter和setter方法。

Class Employee具有setter和getters的名稱和id屬性。

JSP代碼:

< c:forEach var="employeeSkills" items="${employeeSkills}" > 
    <td>${employeeSkills.key.name}</td> 
</c:forEach> 

,但我得到這個錯誤

javax.el.PropertyNotFoundException:房產 '名' 不是java.lang.String類型的可讀

員工類別:

class Employee{ 
    String id; 
    String name; 
    /** 
    * @return the id 
    */ 
    public String getId() { 
     return id; 
    } 
    /** 
    * @param id the id to set 
    */ 
    public void setId(String id) { 
     this.id = id; 
    } 
    /** 
    * @return the name 
    */ 
    public String getName() { 
     return name; 
    } 
    /** 
    * @param name the name to set 
    */ 
    public void setName(String name) { 
     this.name = name; 
    } 
    public Employee(String id, String name) { 
     super(); 
     this.id = id; 
     this.name = name; 
    } 


} 
+0

我不知道爲什麼你需要豆子。 –

+0

我正在一個大項目上工作,他們已經是我想擁有一個數據結構的bean了,每個員工都有幾個技能,有沒有更好的結構? –

+0

然後將em關聯到員工對象。 –

回答

1

試試這個(調用var不同):

<c:forEach var="emplSkill" items="${employeeSkills}" > 
    <td>${emplSkill.key.name}</td> 
</c:forEach> 
+0

輸出是員工對象也> ViewAction $ Employee @ 20af022 –

+0

@AhmedSoliman有了上面的代碼,輸出是'ViewAction $ Employee @ 20af022'?你確定你已經複製粘貼了這個片段? – sp00m

+0

這是輸出>查看$ Employee @ 20af022。我發現問題是公開僱員類。謝謝 –

1

刪除。名稱和你的罰款

+0

這將返回一個員工對象我想要它的名字 –

+0

什麼是jsp輸出? –

+0

輸出刪除.name > ViewAction $ Employee @ 20af022 –

0

製作類別的僱員,公共 那麼JSP運行完美

+1

總是讓模型類公開!沒有公開,默認的可見性就在包中 –