“HTTP状态405 - 表单提交时不支持请求方法'POST'”

时间:2012-07-11 23:28:51

标签: spring hibernate tomcat7

尝试在Spring / Hibernate中做一个非常简单的表单。它应该是向数据库添加一个条目。这是基于一个对我有用的例子,所以我得到这个错误很奇怪。但事实就是如此。

以下是包含以下表单的页面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

<html>
<head><title>Add Owned Game</title></head>
<body>
<h1>Add Owned Game</h1>

<br />
<br />
<c:url var="saveGameeUrl" value="/games/save.html" />
<form:form modelAttribute="game" method="POST" action="${saveGameUrl}">
    <form:label path="title">Game Title:</form:label>
    <form:input path="title" />
    <br />
    <input type="submit" value="Add Game" />
</form:form>


</body>
</html>

这是相关的控制器方法:

@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView saveGame(@ModelAttribute("game") Game game,
        BindingResult result) {
     gameService.addOwnedGame(game);
    return new ModelAndView("redirect:/games/owned.html");
}

如果您还需要查看其他内容,请与我们联系。

1 个答案:

答案 0 :(得分:2)

看起来您要发布到HTML页面(应该是静态的)而不是路由到控制器的/ save页面。还有,这是一个错字吗? c:url被命名为 saveGameeUrl ,带有两个Es,而动作只有一个e在游戏中。

<c:url var="saveGameeUrl" value="/games/save.html" />
<form:form modelAttribute="game" method="POST" action="${saveGameUrl}">