Java 请求映射无法正常工作
在我的Spring控制器中,我创建了3种方法。方法1和方法2工作正常,但方法3给了我一个问题 问题:Java 请求映射无法正常工作,java,spring,spring-mvc,Java,Spring,Spring Mvc,在我的Spring控制器中,我创建了3种方法。方法1和方法2工作正常,但方法3给了我一个问题 问题: org.springframework.web.servlet.PageNotFound noHandlerFound WARNING: No mapping found for HTTP request with URI [/SpringMVCEample1/students/edit/2] in DispatcherServlet with name 'SpringServlet' 方法1
org.springframework.web.servlet.PageNotFound noHandlerFound
WARNING: No mapping found for HTTP request with URI [/SpringMVCEample1/students/edit/2] in DispatcherServlet with name 'SpringServlet'
方法1-效果完美
@RequestMapping(value="/get", method = RequestMethod.GET)
public String getAllStudents(Model model){
System.out.println("Fetching All Students");
model.addAttribute("studentList", list);
return "student";
}
@RequestMapping("/{id}")
public String getStudentById(@PathVariable("id") int id, Model model){
System.out.println("Fetching Student with Id " + id);
model.addAttribute("currentStudent",list.get(id));
return "student";
}
@RequestMapping(value="/edit/${studentId}")
public String editStudent(@PathVariable("studentId") int studentId, Model model){
System.out.println("Edit Student with Index " + studentId);
model.addAttribute("studentId",studentId);
model.addAttribute("studentName",list.get(studentId));
return "redirect:get";
}
方法2-效果完美
@RequestMapping(value="/get", method = RequestMethod.GET)
public String getAllStudents(Model model){
System.out.println("Fetching All Students");
model.addAttribute("studentList", list);
return "student";
}
@RequestMapping("/{id}")
public String getStudentById(@PathVariable("id") int id, Model model){
System.out.println("Fetching Student with Id " + id);
model.addAttribute("currentStudent",list.get(id));
return "student";
}
@RequestMapping(value="/edit/${studentId}")
public String editStudent(@PathVariable("studentId") int studentId, Model model){
System.out.println("Edit Student with Index " + studentId);
model.addAttribute("studentId",studentId);
model.addAttribute("studentName",list.get(studentId));
return "redirect:get";
}
方法3-给出错误
@RequestMapping(value="/get", method = RequestMethod.GET)
public String getAllStudents(Model model){
System.out.println("Fetching All Students");
model.addAttribute("studentList", list);
return "student";
}
@RequestMapping("/{id}")
public String getStudentById(@PathVariable("id") int id, Model model){
System.out.println("Fetching Student with Id " + id);
model.addAttribute("currentStudent",list.get(id));
return "student";
}
@RequestMapping(value="/edit/${studentId}")
public String editStudent(@PathVariable("studentId") int studentId, Model model){
System.out.println("Edit Student with Index " + studentId);
model.addAttribute("studentId",studentId);
model.addAttribute("studentName",list.get(studentId));
return "redirect:get";
}
您必须从
@RequestMapping(value=“/edit/${studentId}”)中删除$
例如,它必须是:
@RequestMapping(value="/edit/{studentId}")
您必须从
@RequestMapping(value=“/edit/${studentId}”)中删除$
例如,它必须是:
@RequestMapping(value="/edit/{studentId}")
映射值应为{studentId},而不是${studentId}
@RequestMapping(value="/edit/{studentId}")
public String editStudent(@PathVariable("studentId") int studentId, Model model){
System.out.println("Edit Student with Index " + studentId);
model.addAttribute("studentId",studentId);
model.addAttribute("studentName",list.get(studentId));
return "redirect:get";
}
映射值应为{studentId},而不是${studentId}
@RequestMapping(value="/edit/{studentId}")
public String editStudent(@PathVariable("studentId") int studentId, Model model){
System.out.println("Edit Student with Index " + studentId);
model.addAttribute("studentId",studentId);
model.addAttribute("studentName",list.get(studentId));
return "redirect:get";
}
/edit/${studentId}
您必须删除$
@BogdanK:谢谢您指出这一点。我想我疯了。:-)如果您使用的是SpringMVC4.3.x,那么您应该使用@RequestMapping(value=“/edit/${studentId}”)而不是@RequestMapping(value=“/edit/${studentId}”),而不是@RequestMapping(value=“/get”,method=RequestMethod.get)。只是一个旁注,因为它已经回答了。/edit/${studentId}
您必须删除$
@BogdanK:谢谢您指出这一点。我想我疯了。:-)如果您使用的是SpringMVC4.3.x,那么您应该使用@RequestMapping(value=“/edit/${studentId}”)而不是@RequestMapping(value=“/edit/${studentId}”),而不是@RequestMapping(value=“/get”,method=RequestMethod.get)。只是一个旁注,因为它已经回答了。