【发布时间】:2012-04-20 21:21:07
【问题描述】:
我正在使用 Spring MVC 3 设置和处理表单,但我遇到了这个问题,这是我在使用 Spring MVC 3 提交表单时从未遇到过的问题,我无法理解其背后的原因。
当我提交表单时,我收到 HTTP Status 405 - Request method 'POST' not supported 错误。 以下是我用来让它工作的 .jsp 表单和控制器。
newProblem.jsp
<form:form commandName="problem" >
<form:label path="problem" >
<span class="label">Problem <form:errors path="problem" /></span>
</form:label>
<form:textarea path="problem" cssClass="editor" id="editor"/>
<input type="submit" value="create" />
</form:form>
ProblemManagementController.java
//Add new problem (GET)
@RequestMapping(method=RequestMethod.GET, value="/admin/problems/new")
public String setUpForm(Model model) {
model.addAttribute("problem", new Problem());
return "newProblem";
}
//Add new problem (POST)
@RequestMapping(method=RequestMethod.POST, value="/admin/problems/new")
public String processForm(@Valid Problem problem, Errors result) {
if(result.hasErrors()) {
return "newProblem";
}
problemManagementService.createProblem(problem);
return "redirect:/admin/problems";
}
//Display all problems
@RequestMapping(value="/admin/problems")
public String displayAllProblems(Model model) {
List<Problem> allProblems = problemManagementService.getAllProblems();
model.addAttribute("allProblems", allProblems);
return "allProblems";
}
有人能帮我理解为什么会出现这个错误吗?
【问题讨论】:
-
由于某些原因 Eclipse IDE 没有读取
processForm和displayAllProblems方法。清理服务器和项目后,将项目重新部署到服务器后,它就可以工作了。
标签: forms spring-mvc spring-3