Java 访问JSP中的对象列表时出现NumberFormatException
我试图通过创建一个简单的学生应用程序来学习SpringBoot。访问控制器返回给视图的“学生”对象集合时,我收到NumberFormatException 控制器返回一个“Student”对象列表,我试图通过JSP视图显示添加的记录 控制器类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
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;
}