Spring mvc で mcq を実行したい。クラス Answer と OneToMany 関係にあるクラス Question と OneToMany 関係を持つクラス Mcq があります。したがって、Mcq はプロパティとして Arraylist ListOfQuestions を持ち、Question は Arraylist ListOfAnswers を持ちます。
私のコントローラーは
@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 は適切に表示されますが、フォームの処理に失敗します。「Etat HTTP 405 - Request method 'POST' not supported」というエラーが表示され、displayMcq の外観にとどまります。
では、問題を説明して、mcq を正しく処理し、チェック済みの回答を返すのを手伝ってもらえますか?