Использование «скрытого параметра», называемого _method
, не относится к библиотеке тегов Spring MVC, но также используется некоторыми другими клиентскими платформами. Весна просто следует соглашению, как оно есть.
Чтобы использовать это правильно, вам необходимо добавить фильтр к вашему web.xml
, (HiddenHttpMethodFilter
, см. javadoc ), который превращает параметр _method
в «настоящий» HTTP Метод представления в HttpServletRequest
. Это сделано в качестве фильтра, чтобы подчеркнуть тот факт, что отсутствие PUT
и DELETE
является проблемой браузера - API сервлета это прекрасно поддерживает.
Так что, если вы хотите использовать эти методы в своей форме, вам нужно добавить этот фильтр.
P.S. Причина, по которой вы получаете сообщение «POST не поддерживается», заключается в том, что ваша форма использует POST
, а ваш обработчик помечен PUT
, поэтому он не совпадает. Поскольку фильтр не определен, параметр _method
игнорируется.