javax.el.PropertyNotFoundException:类';com.springapp.mvc.Class';没有属性';课程';

javax.el.PropertyNotFoundException:类';com.springapp.mvc.Class';没有属性';课程';,java,jstl,el,propertynotfoundexception,Java,Jstl,El,Propertynotfoundexception,这是我的模型: public class Class { @ManyToMany(etc etc) @JoinTable(etc etc) public List<Course> Courses; 公共类{ @许多(等) @可接合(等) 公开名单课程; 以下是我的看法: <c:forEach items="${classes}" var="class"> <tr> <td>${class.className}&l

这是我的模型:

public class Class {
    @ManyToMany(etc etc)
    @JoinTable(etc etc)
    public List<Course> Courses;
公共类{
@许多(等)
@可接合(等)
公开名单课程;
以下是我的看法:

<c:forEach items="${classes}" var="class">
<tr>
    <td>${class.className}</td>
    <td>
    <c:forEach items="${courses}" var="course">
        <input type="checkbox"
            <c:if test="${class.Courses.contains(course)}"> checked</c:if>>
        ${course.courseName}
    </c:forEach>
    </td>
</tr>
</c:forEach>

${class.className}
${course.courseName}
该视图仅产生以下错误:

javax.el.PropertyNotFoundException:类“com.springapp.mvc.class”没有属性“Courses”


EL不查找属性,而是查找getter:

public class AnyClass {

  private String aProperty;

  private String getAGetter() {
    // ...
  }

}
${anyClass.aProperty}
将失败,
${anyClass.aGetter}
将成功

要将getter名称转换为EL表达式,将删除“get”(或“is”)前缀,并将第一个字符小写

在你的例子中,我猜你的getter名字是
getCourses
,它给出了
courses
。所以你必须使用
${class.courses}


请注意,您没有遵循以下步骤