当我尝试重定向到某个视图时,我收到此错误。
在一个处理程序方法中,我有:
// get student ID, add it to model, and return redirect URI
Integer studentId = student.getStudentId();
model.addAttribute("studentId", studentId);
return "redirect:/students/{studentId}";
但是我没有在这个处理程序方法中获取参数studentId
:
@RequestMapping(value="/{student}", method = RequestMethod.GET)
public String getStudent(@PathVariable Integer studentId, Model model) {
Student student = studentService.get(studentId);
model.addAttribute("student", student);
return "student";
}
我在这里缺少什么?
答案 0 :(得分:26)
如果您没有指定路径变量的名称,Spring会尝试使用您的参数名称。
因此在
@RequestMapping(value="/{student}", method = RequestMethod.GET)
public String getStudent(@PathVariable Integer studentId, Model model) {
当你有一个名为studentId
的路径变量时,Spring会尝试找到一个名为student
的路径变量。
只需添加值属性
即可@PathVariable("student") Integer studentId
或更改参数名称。