1

我想从 servlet 到 jsp 的 LinkedHashMap 键中获取员工的姓名。

我在 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:属性“名称”在 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;
    }


}
4

3 回答 3

1

删除 .name 就可以了

于 2013-09-01T17:34:20.837 回答
1

试试这个(以var不同的方式调用):

<c:forEach var="emplSkill" items="${employeeSkills}" >
    <td>${emplSkill.key.name}</td>
</c:forEach>
于 2013-09-01T23:11:29.230 回答
0

公开班级员工,然后jsp完美运行

于 2013-09-02T07:00:07.680 回答