form method =“POST”生成GET请求? Spring / JSP

时间:2011-12-21 07:23:17

标签: forms spring jsp

我有一个带有以下表单标记的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', ....

当方法设置为POST时,为什么要尝试执行GET? 我对此有点新意,所以也许我错过了一些显而易见的东西,但这让我开得很快。如果我使用第三方应用拦截GET请求并将其更改为POST,则执行上述java方法以使该部分有效。

1 个答案:

答案 0 :(得分:1)

你的uri也不同(index.html / data.htm)。确保这是相同的请求。

即使它是相同的请求,data(..)方法也应该返回一个视图。如果它不是(void),则尝试e默认视图(可能data.htm),这可能不存在。默认情况下,视图通过forward解析,但根据方法体和配置,它可能是重定向。