私はSpringを始めたばかりなので、自分自身を明確に説明できることを願っています.
次の Bean があるとします。
public class UserAnswer {
private String answer;
public UserAnswer() {
}
public String getAnswer() {
return answer;
}
public void setAnswer(String answer) {
this.answer = answer;
}
これは、ビューにリダイレクトするコントローラー メソッドです。モデルに渡されるパラメータに注意してください
@RequestMapping(value="/usuarios/cambiar_estado", method=RequestMethod.POST)
public String bloquearDesbloquearUsuario(@RequestParam (value="usuarioPinIdHidden", required=false) String pinId, Model model){
try{
List<Question> questionList = servicioAcceso.getSecurityQuestionsByUser(Long.parseLong(pinId));
model.addAttribute("userAnswer", new UserAnswer());
model.addAttribute("questionList", questionList);
}catch(Exception e){
e.printStackTrace();
}
return "login/pregunta_seguridad";
}
これは、質問のリストをレンダリングするビュー login/pregunta_seguridad.jsp です。リストのすべての要素を UserAnswer タイプのアイテムのリストにバインドする必要があります。
<c:url var="url" value="/usuarios/compare_answers"/>
<form:form modelAttribute="userAnswer" action="${url}" method="POST">
<c:if test="${not empty answerList}">
<table class="summary" style="border: none;">
<c:forEach var="question" items="${questionList}">
<tr>
<td colspan="2">${question.description}</td>
</tr>
<tr>
<form:input path="answer" id="answer"/>
</tr>
</c:forEach>
</table>
</c:if>
<div class="span-3 last">
<button type="submit">Confirm</button>
</div>
</form:form>
UserAnswer のリストを取得する方法が必要です
@RequestMapping(value="/usuarios/compare_answers", method=RequestMethod.POST)
public String compareAnswer(Model model, UserAnswer userAnswer){
try{
//this is where I should receive a list of UserAnswer
}catch(Exception e){
e.printStackTrace();
}
return null;
}
春にそのようなことをするにはどうすればよいですか?前もって感謝します!