2011-12-21 119 views
0

我有以下形式標記在JSP頁面:form method =「POST」生成GET請求?春/ JSP

<form:form method='POST' action="index.htm" commandName='filterForm'> 
在我的控制器類

然後我有以下幾點:

@RequestMapping(method=RequestMethod.POST) 
public void data(FilterForm form, BindingResult errors, ModelMap model) 
{ 
... 
} 

,當我提出我得到以下錯誤形式:

No matching handler method found for servlet request: path '/test/data.htm', method 'GET', .... 

它是如何試圖做一個GET時,方法設置爲POST? 我在這個有點新,所以也許我已經錯過了明顯的東西,但它驅使我越野車。如果我使用第三方應用攔截GET請求並將其更改爲POST,那麼上述java方法將被執行,以便該部分可以工作。

回答

1

你的uri也有所不同(index.html/data.htm)。確保這是相同的請求。

即使它是最重要的,data(..)方法應該返回一個視圖。如果它不(無效),則嘗試默認視圖(可能爲data.htm),該視圖可能不存在。默認情況下,視圖是通過forward解析的,但取決於方法體和配置,它可能是重定向的。

+0

但如果我改變方法= RequestMethod.POST爲.GET,那麼它的工作原理,我沒有得到上面提到的錯誤,所以它好像幾乎表單方法POST被忽略或設置在其他地方,但不知道在哪裏或者 – 2011-12-21 16:06:06

+0

是否有代理?它可能會改變 – Bozho 2011-12-21 16:34:45

+0

表單提交按鈕正在進行方法設置爲GET的ajax調用。爲我粉筆失敗:) – 2011-12-23 02:20:08