请求方法' POST' Spring mcv不支持

时间:2017-10-10 11:32:09

标签: html spring-mvc

我正在使用spring mvc而且我无法使用按钮工作,当我点击按钮时它说:请求方法' Post'不支持。

这是我的html文件:

<html>
    <head>
        <title>Cart</title>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    </head>
    <body th:object="${picture}">

        <form method="post">
            Authhor: <label th:text="*{ownerName}" /><br />
            Title: <label th:text="*{title}" /><br />
            Description: <label th:text="*{description}" /><br />
            Price: €<label th:text="*{price}" /><br />
            Product: <select th:field="${productss}" th:remove="all-but-first">
                <option th:each="product : ${productss}" 
                        th:value="${product.id}" th:text="${product.name + '   (+ €' + product.price + ')'}">Productname</option>
            </select><br />
            <img width="250" heigth="250" th:src="*{plainURL}"/><br />
            <button align="right" class="btn" type="submit" name="add" ><span class="glyphicon glyphicon-check">Add to shopping cart</span></button><br />
        </form>
    </body>
</html>

这是我想要执行的方法:

@RequestMapping(value = IMAGE, method = RequestMethod.POST, params = {"add"})
public String add(HttpSession session, Model model) {
    System.out.println("its working!");
    return "/image/5";
}

我知道这个问题发布了很多,但我无法找到适合我的解决方案。

1 个答案:

答案 0 :(得分:0)

您尚未指定表单的任何目标。添加&#34;动作&#34;以及您在@RequestMapping中添加的路径。添加&#34;双引号&#34;为了你的价值。

@RequestMapping(value = "image", method = RequestMethod.POST, params = {"add"})

如果您未在表单中提及action,则会点击浏览器网址栏中当前的网址。在这种情况下,url也应该能够处理帖子。例如,如果您有localhost/app/addTocart,那么您应该处理两种方法。使用method=post和其他method=get