java - RequestMapping 无法正常工作

标签 java spring spring-mvc

在我的 Spring Controller 中,我创建了 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 - 完美运行 <强> http://localhost:8080/SpringMVCEample1/students/get

@RequestMapping(value="/get", method = RequestMethod.GET)
public String getAllStudents(Model model){
    System.out.println("Fetching All Students");
    model.addAttribute("studentList", list);
    return "student";
}

方法 2 - 完美运行 <强> http://localhost:8080/SpringMVCEample1/students/1

@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";
}

方法 3 - 给出错误 <强> http://localhost:8080/SpringMVCEample1/students/edit/1

@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}")

关于java - RequestMapping 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41738160/

相关文章:

java - 需要配置Spring Security和Hibernate

java - 多部分文件提交永远不会命中服务器方法

java - 如何在单个事务中调用2个重载方法?

spring - Spring 事务是否通过新实例传播

java - 为什么 Spring Boot 不读取我的接口(interface)资源上定义的 PathVariable?

java - Spring Boot 不接受文件扩展名

java - 在java中运行内部exe

java - 读取多列文本文件并将其拆分为数组

java - 在 Java Android 应用程序中打开最后一个 fragment View

java - 如何将 RealmList 更改为 RealmResult?