如何正确生成POST请求的表单操作?

时间:2015-08-05 07:59:52

标签: java spring spring-mvc http-post path-variables

我正在尝试为我的Spring表单生成action并收到400个错误请求错误。

我使用活动标签索引生成操作,并使用以下JS onsubmit

function getActionFromTab(form, prefix) {
    form.action = prefix + getActiveTab() + ".html";
}

function getActiveTab() {
    return $('.nav-tabs .active').index();
} 

并像这样使用:

...
<form:form commandName="foo" cssClass="form-horizontal"
                        onsubmit="getActionFromTab(this, '/profile/')">
...

...当我换掉我的控制器中找到的return "/profile.html";的内容以及失败的那个时,设置动作时效果很好:

@RequestMapping(value = "/profile", method = RequestMethod.POST)
public String addFoo(@ModelAttribute("foo") Foo foo, Principal principal) {
    ...
}

@RequestMapping(value = "/profile/{index}", method = RequestMethod.POST)
public String addBar(@ModelAttribute("bar") Bar bar, @PathVariable int index, 
        Principal principal) {
    ...
} 

但是当我将索引附加到url时会抛出400错误。

我使用@PathVariable的其他页面,控制器和映射的方式相同,但它们不是POST个请求。生成表单操作并避免400错误请求错误的正确方法是什么?

0 个答案:

没有答案