Here is my form

<form " action="/delete/?userId=${users.userId}" method="POST" target="_blank"> <input type="submit" class="update_Delete" value="DELETE" onclick="javascript:deleteUser(${users.userId})"/> </form> 

A controller like this:

 @RequestMapping(value = "/delete/{userId}", method = RequestMethod.POST) public ModelAndView deleteUser(@PathVariable("userId") Integer userId, Users users ) { ModelAndView modelAndView = new ModelAndView("usersList"); try { usersDAOService.delUser(userId); String delMessage = "User by id number is " + usersDAOService.getUsersById(users.getUserId()) + " was succesfully removed"; modelAndView.addObject("message", delMessage); return modelAndView; } catch (Exception e) { e.printStackTrace(); System.out.println("This user is does not deleted, please try later!"); return new ModelAndView("usersList"); } } 

What is wrong here?

Explain, please. Thanks in advance to everyone for the answer.

  • HTTP Status 405 - Request Method Not For A Disabled Resource. - Talat
  • The error will be like this - Talat
  • method = RequestMethod.POST should be. In general, HTTP has a DELETE method, but POST (another GET option) is used when submitting a form. DELETE and other "rare" HTTP methods are used in RESTful, for example. - Sergey
  • Why make onclick to delete if you already have an action? - raviga
  • Maybe there is more complicated processing than just submitting a form. For example, you need to add a parameter to /delete?userId=123 so that /delete?userId=123 . It is also an option that instead of a form, it is really trying to execute DELETE in a RESTful style. - Sergey

0