【发布时间】:2021-02-19 20:28:56
【问题描述】:
我正在使用休眠来存储一个具有嵌入式类型地址对象的学生对象。我正在使用表单来获取输入名称、城市、州。 City & State 在提交表单时获取 null 如何在模型对象中捕获这些值。 ${student.homeAddress.city} - 此值为 NULL
问题已解决!
public class Student {
@Id
@Column(name = "student_id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "students_seq")
@SequenceGenerator(sequenceName = "students_seq", name = "students_seq", allocationSize = 1)
private int studentId;
@Column(name = "student_name")
private String studentName;
@Embedded
private Address homeAddress;
}
@Controller
@RequestMapping("/students")
public class StudentController {
@Autowired
StudentService studentService;
@RequestMapping("/registrationForm")
public String showFormForStudentRegistration(Model model) {
Student studentObj = new Student();
Address addressObj = new Address();
studentObj.setHomeAddress(addressObj);
model.addAttribute("student", studentObj);
return "student-form";
}
@RequestMapping("/register")
public String registerStudent(@ModelAttribute("student") Student student) {
studentService.createStudent(student);
return "student-success";
}
}
【问题讨论】:
-
您对
@Embaded有什么期待?您使用的数据源是什么? -
我的表单上有 3 个字段。姓名,城市,州。名字来自学生。城市和州分别来自地址。如果我给出值并提交表格。由于城市,我收到 NullPointerException,状态值未从表单中捕获。我不知道如何捕捉这些。
标签: spring hibernate spring-mvc jsp