繁体   English   中英

HTTP状态400-客户端发送的请求在语法上与spring不正确

[英]HTTP Status 400 - The request sent by the client was syntactically incorrect with spring

当我尝试提交“添加表单”时,我的HTTP状态为400,我也搜索了此问题,并且大多数解决方案都与controller和@RequestParameter一起考虑。

形式如下:

<form:form commandName="blog" id="newBlog" method="POST"
        cssClass="form-horizontal" action="account">

        <table class="k-widge">

            <tr>
                <th>Name:</th>
                <td><form:input path="name" cssClass="k-textbox"
                        style="margin-top:3px; margin-bottom: 5px;" name="name"/></td>
            </tr>
            <tr>
                <th>Url:</th>
                <td><form:input path="url" cssClass="k-textbox"
                        style="margin-bottom: 5px;" name="url"/></td>
            </tr>

            <tr>
                <th></th>
                <td><input type="submit" value="Save" Class="k-button" id="saveBlog"
                    style="margin-bottom: 5px;"/></td>
            </tr>

        </table>

    </form:form>

和控制器:

@RequestMapping(value="/account",method=RequestMethod.POST)
public String doAddBlog(@ModelAttribute("blog") Blog blog,Principal principal){
    String name = principal.getName();
    blogService.save(blog,name);
    return "redirect:/account.html";
}

终于,我解决了这个问题。 问题是,当我提交表单时,该表单中以“帐户”形式存在的动作会附加到当前URL:

当前网址“ localhost:8080 / myapp / users”

当我提交表格时,它会像这样

“本地主机:8080 / MyApp的/用户/帐户”

并且该“ / users / account”在控制器类的请求映射中不存在。

因此,我要做的是在表单操作中添加“ / myapp / account”而不是“ account”。

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM