如何使用Spring MVC从表单中获取列表

时间:2013-04-22 18:21:15

标签: forms list spring-mvc

我有一个List(List),我在表单中定义了它。我想把这个列表传递给jsp。我使用的框架是spring mvc。困难的部分是我无法填充列表。我知道我必须写一个foreach声明,但我尝试过,没有任何反应。我跟着this示例,但同样的事情又发生了。有没有人有想法?

2 个答案:

答案 0 :(得分:0)

谢谢大家,帮助解决我的问题。我终于找到了解决方案。 在表格中我写了@Valid private SubmitAEActivityForm[] person;然后我写了一个包含我想要的字段的类。之后在我的JSP中写道:

c:forEach items="${submitAEForm.aifs}" var="holdData"
                                varStatus="loop">
                                <c:set var="indexLoop" value="${loop.index}" scope="request" />
                                <c:set var="items" value="${holdData}" scope="request" />
                                <c:import url="/WEB-INF/jsp/common/prototype.jsp"></c:import>

                            </c:forEach> <c:remove var="items" />

prototype.jsp包含了我想克隆的字段。我的jQuery代码是:

function initDivList(addBtn, removeBtn, hiddenDivId, displayDivId) {
    var i = 0;
    $(addBtn).click(function() {
        $(hiddenDivId).clone().find('input, select').each(function() {
            $(this).attr({
                'name': function(_, name) { return name.replace("$NAME$", i); }
              }); }).end().fadeIn(1000).appendTo(displayDivId).css("display", "block");

        $(removeBtn).click(function() {
            $(this).parent().remove();
        });
        i++;
    });
     $(removeBtn).click(function() {
        $(this).parent().remove();
        if (i > 1) {
            i--;
        }
    }); 

通过这种方式,我将每个字段编入索引,因此我可以轻松呈现每个错误

答案 1 :(得分:-1)

你试过这个吗? http://viralpatel-net-tutorials.googlecode.com/files/SpringMVC_Multi_Row.zip

我将这个项目导入我的STS并运行它,然后我成功获得了元素列表。

我正在使用以下软件:

  • Tomcat 7.0.39
  • STS 3.2.0
  • Java 1.7

希望这有帮助。