2010-11-04 6 views
7

Согласно Спрингу документации here:Запроса метод «POST» не поддерживаются

While HTTP defines these four methods, HTML only supports two: GET and POST. Fortunately, there are two possible workarounds: you can either use JavaScript to do your PUT or DELETE, or simply do a POST with the 'real' method as an additional parameter (modeled as a hidden input field in an HTML form).

Они сделали последнее, и может быть достигнут с помощью следующей весны MVC тега формы:

<form:form method="delete"> 
    <input type="submit" value="Delete"/> 
</form:form> 

проблема заключается в том, что когда я нажимаю «Удалить» на моей странице, возникает следующая ошибка:

HTTP Status 405 - Request method 'POST' not supported 

I ch anged уровень отладки org.springframework.web для отладки и обнаружил следующее сообщение:

DEBUG AnnotationMethodHandlerExceptionResolver - Resolving exception from handler [[email protected]]: 
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported 

я использовал RestClient с УДАЛИТЬ метод и метод вызывается, как и ожидалось. Что я здесь делаю неправильно?

+0

Я попытался POST в качестве параметра с помощью RestClient и возвратил код состояния: 405 метод не допускается. Где могла быть проблема? – Joopiter

+0

Можете ли вы разместить свой контроллер? – hisdrewness

+0

@hisdrewness yes Я могу, но я не думаю, что проблема в URL-адресе контроллера, так как использование RestClient отлично работает. – Joopiter

ответ

5

Вам нужно настроить HiddenHttpMethodFilter в вашем web.xml

Подробности можно найти here:

+0

Я сконфигурировал фильтр и поместил фильтр-сопоставление, чтобы содержать <сервлет-сопоставление> диспетчера Spring MVC, но все еще не работал. Любые другие предложения? – Joopiter

+0

изменил <сервлет-сопоставление> на *, и все получилось отлично. Кажется, использование urlrewrite является частью проблемы, поскольку, когда я попробовал app/*, этот фильтр get сначала проверяется перед фильтром urlrewrite. Спасибо maximdim! – Joopiter

Смежные вопросы