2011-12-21 96 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