繁体   English   中英

Spring 3中如何将对象列表从视图中的表单绑定到控制器

[英]How to bind a list of objects from a form in the View to the Controller in Spring 3

我希望从Spring开始就可以清楚地说明自己。

说我有以下豆:

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

春天如何做这样的事情? 提前致谢!

我认为您不能直接将对象列表绑定到表单支持bean,而是可以绑定包含该列表的父类,例如UserForm类包含UserAnswer列表,并将UserForm绑定为表单支持bean。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM