1

私は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;
    }

春にそのようなことをするにはどうすればよいですか?前もって感謝します!

4

1 に答える 1

0

オブジェクトのリストをフォームバッキングBeanに直接バインドすることはできないと思います。むしろ、このリストを含む親クラスをバインドできます。たとえば、UserFormクラスにはUserAnswerのリストが含まれ、ユーザーフォームをフォームバッキングBeanとしてバインドできます。

于 2012-04-16T21:11:40.370 に答える