java - JSP 迭代继承的用户定义类

标签 java mysql spring jsp

我有两个实体类,代表我数据库中的两个表。 这两个表是用户和学生。 Student 类(userID、studentID、classID)继承自 User 类(id、firstName、lastName、email)。 当我查询学生的数据库时,我返回了一个列表。然后我想使用该列表迭代并显示每个学生的名字、姓氏、电子邮件和类(class) ID。但是,它只显示 classID。我相信这是因为该对象是一个学生,它只包含三个字段(userID、studentID、classID)并且不包含姓名和电子邮件。但是,由于 Student 类扩展了 User 类,我认为它应该仍然能够获取其他字段。

这是我的类(class)

用户

public class User {
private int id;
private String firstName;
private String lastName;
private String email;

public User(){

}

public String getFullName(){
    return firstName +" "+ lastName;
}
public int getID() {
    return id;
}

public void setID(int id) {
    this.id = id;
}

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}
}

学生

public class Student extends User {
private int userID;
private int studentID
private int classID

public int getUserID() {
    return userID;
}

public void setUserID(int userID) {
    this.userID = userID;
}

 public int getStudentID() {
    return studentID;
}

public void setStudentID(int studentID) {
    this.studentID = studentID;
}
public int getClassID() {
    return classID;
}

public void setClassID(int classID) {
    this.classID = classID;
}
}

JSP

        <c:forEach items="${students}" var="student">
            <tr>
                <td>${student.firstName} ${student.lastName}</td>
                <td>${student.email}</td>
                <td>${student.classID}</td>
            </tr>
        </c:forEach>

在我的 Controller 类中

List<Student> students = getStudents();
      output.addObject("students", students);

如何让它显示,user.firstName, user.lastName, user.email, student.classID

最佳答案

JSP 代码看起来不错。

如果值在 Student 对象中不可用并且应该是由于层次结构的原因,则问题出在查询完成后填充 Student 对象的代码中。您可能想要验证 Student 对象的创建方式以及属于 User 对象的字段未设置的原因。

关于java - JSP 迭代继承的用户定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743258/

相关文章:

java - 如何将值或参数从jsp传递到Spring Controller ?

java - Spring BeanUtils 无法实例化泛型类

java - java中的for循环内部的for循环

java - 如何在 Java 中向文件写入字符?

mysql - 需要重写查询以在 where 子句中使用 max 函数

php - 使用 PHP 仅显示 mysql 表的一行

java - JSF 2 使用 @ManagedProperty 注入(inject) Spring bean/service 而没有 xml

java - 在已部署的 Apache 6.0 中转换 XML 时可能出现的错误

java - 使用反射方法设置EditText光标颜色

mysql - 在 MySql 中使用 SQL 将当前时间与连续时间进行比较