Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请求映射无法正常工作_Java_Spring_Spring Mvc - Fatal编程技术网

Java 请求映射无法正常工作

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

在我的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-效果完美

@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)。只是一个旁注,因为它已经回答了。