【问题标题】:"HTTP Status 405 - Request method 'POST' not supported" on form submit表单提交上的“HTTP 状态 405 - 不支持请求方法 'POST'”
【发布时间】:2012-07-11 23:28:50
【问题描述】:

尝试在 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");
}

如果您需要查看其他内容,请告诉我。

【问题讨论】:

  • 你查看服务器日志了吗?

标签: spring hibernate tomcat7


【解决方案1】:

看起来您正在发布到 HTML 页面(应该是静态的),而不是路由到控制器的 /save 页面。还有,是不是笔误? c:url 被命名为 saveGameeUrl,有两个 E,而动作在 Game 上只有一个 e。

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

【讨论】:

  • 男孩天哪,我的脸颊不是红的吗?我以为我已经在某一时刻解决了这个问题。这解决了它!
  • 没问题。不会是第一次有人在代码审查上撞到头了:)。
猜你喜欢
  • 2013-03-03
  • 2016-11-11
  • 2015-06-26
  • 1970-01-01
  • 2012-06-24
  • 2015-05-01
  • 2015-04-09
  • 2016-03-29
  • 2014-09-24
相关资源
最近更新 更多