JSP页面和控制器中的方法之间的请求映射不起作用

时间:2019-05-28 15:46:51

标签: java spring spring-mvc

我有一个spring mvc项目。我正在尝试删除公告,但收到404错误,似乎无法找到该方法。我所有其他的映射都工作正常,我已经以相同的方式完成了此操作,因此我似乎无法弄清楚哪里出了错

这是我用于删除公告的按钮的链接,它可以正确获取网址中的ID,所以我知道这是可行的

<c:url value="/deleteAnnouncement?id=" var="deleteAnnouncementURL" />

<security:authorize access="hasRole('ADMIN')">
<a href= "${deleteAnnouncementURL}${announcements.id}" class= "btn-outline-danger btn-sm pull-right">Delete</a> 
</security:authorize>

这是我在控制器中的方法

@RequestMapping(value = {"/deleteAnnouncement/{id}"}, method = RequestMethod.GET)
public String deleteAnnouncement(@PathVariable("id") int id, Model model)
    {

        Announcement announcement = announcementService.findOne(id);
        announcementService.deleteAnnouncement(announcement);
        return "success";
    }

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您发送请求的方式是错误的。

从前端开始,您将作为请求参数发送的值,但在后端,您将其作为路径变量接收。

更改value =“ / deleteAnnouncement?id =

value =“ / deleteAnnouncement

并在URL和ID之间添加斜杠,如下所示。

$ {deleteAnnouncementURL} / $ {announcements.id}