我想用Spring mvc做一個mcq。我有一個類Mcq與類Question的OneToMany關係,它與Answer類具有OneToMany關係。因此Mcq擁有一個Arraylist ListOfQuestions屬性和一個Arraylist ListOfAnswers問題。錯誤「不支持請求方法的POST」與窗體:複選框
我的控制器是
@RequestMapping(value="displayMcq", method = RequestMethod.GET)
public String showMcq(Model model) {
Mcq mcq = mcqService.findById(new Long(1));
model.addAttribute("mcq", mcq);
return "displayMcq";
}
@RequestMapping(method = RequestMethod.POST)
public String displayQcmRepondu(@ModelAttribute("mcq2") Mcq mcq, BindingResult binding, SessionStatus status) {
if (binding.hasErrors()) {
return "displayMcq";
} else {
status.setComplete();
return "redirect:/mcqSuccess/";
}
}
和我的視圖displayMcq.jsp是
<form:form modelAttribute="mcq" method="POST">
<ol>
<c:forEach items="${mcq.listOfQuestions}" var="question">
<li>
<c:out value="${question.label}" />
<br />
<ul>
<c:forEach var="answer" items="${question.listOfAnswers}">
<form:checkbox path="listOfQuestions" value="answer.id" label="${answer.label}" />
<br />
</c:forEach>
</ul>
</li>
</c:forEach>
</ol>
<input type="submit" value="Validate" />
</form:form>
我MCQ公顯示,但窗體的處理失敗。我留在displayMcq外觀上,出現錯誤「Etat HTTP 405 - 請求方法'POST'不受支持」。
所以,你能解釋我的問題,幫助我正確地處理我的mcq並返回檢查的答案?