Java 访问JSP中的对象列表时出现NumberFormatException

Java 访问JSP中的对象列表时出现NumberFormatException,java,spring,hibernate,jsp,spring-mvc,Java,Spring,Hibernate,Jsp,Spring Mvc,我试图通过创建一个简单的学生应用程序来学习SpringBoot。访问控制器返回给视图的“学生”对象集合时,我收到NumberFormatException 控制器返回一个“Student”对象列表,我试图通过JSP视图显示添加的记录 控制器类 package com.example.spring02; import org.springframework.beans.factory.annotation.Autowired; import org.springframe

我试图通过创建一个简单的学生应用程序来学习SpringBoot。访问控制器返回给视图的“学生”对象集合时,我收到NumberFormatException

控制器返回一个“Student”对象列表,我试图通过JSP视图显示添加的记录

控制器类

    package com.example.spring02;

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class SampleController {

    private final StudentService studentService;

    @Autowired
    public SampleController(StudentService studentService) {
        this.studentService = studentService;
    }

    @RequestMapping("/students")
    public String home(Model model) {
        model.addAttribute("students", studentService.getAllStudents());
        return "home";
    }

    @GetMapping("/addStudent")
    public String addStudent(Model model) {
        model.addAttribute("student", new Student());
        return "addStudent";
    }

    @PostMapping("/addStudent")
    public String addStudent(Student student) {
        studentService.addStudent(student);
        return "home";
    }

}
学生

package com.example.spring02;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String name;

    public Student() {
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}
JSP

<%@page isELIgnored="false" %>
<%@page language="java" contentType="text/html" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<h1>Hello World!!!!</h1>
<div>
    <c:forEach items="${students}" var="s">
        <p><c:out value="${s.id}" /></p>
        <p><c:out value="${s.name}" /></p>
    </c:forEach>
</div>
<div id="content"></div>
</body>
</html>
尝试从以下位置更改:

private int id;
private String name;

public Student() {
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}
致:

尝试从以下位置更改:

private int id;
private String name;

public Student() {
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}
致:


可能是复制品:我认为这不是复制品。谢谢你的回复。在这一个中,我返回的对象不同。可能是重复的:我不认为它是重复的。谢谢你的回复。我返回的对象与此不同。您重新启动了Tomcat吗?我使用的是Spring Boot附带的嵌入式Tomcat。您重新启动了Tomcat吗?我使用的是Spring Boot附带的嵌入式Tomcat。
private String id;
private String name;

public Student() {
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}