javax.el.PropertyNotFoundException:类'com.springapp.mvc.Class'没有属性'Courses'



这是我的模型:

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>

视图仅生成以下 500 错误:

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}.


请注意,您不遵循 Java 命名约定。

相关内容

  • 没有找到相关文章

最新更新