我正在尝试action
为我的 Spring 表单生成一个 400 Bad Request 错误。
我使用带有以下 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 错误请求错误的正确方法是什么?