1

サーブレットから jsp への LinkedHashMap キーで従業員の名前を取得したいと考えています。

私はこのコードをJavaクラスView.javaに持っています

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

クラス ビューには、employeeSkills のセッターとゲッターがあります。

クラス Employee には、セッターとゲッターを持つ name 属性と id 属性があります。

JSP コード:

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

しかし、私はこのエラーが発生します

javax.el.PropertyNotFoundException: java.lang.String 型でプロパティ 'name' を読み取ることができません

従業員クラス:

    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 に答える