将映射键属性从servlet传递给jsp

时间:2013-09-01 17:32:19

标签: java jsp servlets jstl

我想在从servlet到jsp的LinkedHashMap键中获取employee的名称。

我在java类View.java

中有这个代码
LinkedHashMap<Employee, LinkedHashMap<Skill, String>>() employeeSkills = new LinkedHashMap<Employee, LinkedHashMap<Skill, String>>();

Class View具有employeeSkills的setter和getter。

类Employee具有setter和getter的name和id属性。

JSP代码:

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

但我收到此错误

  

javax.el.PropertyNotFoundException:属性'name'在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;
    }


}

3 个答案:

答案 0 :(得分:1)

删除.name,你很好

答案 1 :(得分:1)

尝试此操作(以不同方式调用var):

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

答案 2 :(得分:0)

让班级员工公开 然后jsp完美无缺