当前位置: 首页 > 面试题库 >

使用Spring 3 MVC将List

仲孙雅达
2023-03-14
问题内容

我想做这样的事情,哪里Foo是一个具有一个String字段名称和getter / setter的类:

<form:form id="frmFoo" modelAttribute="foos">
   <c:forEach items="${foos}" var="foo">
     <form:input path="${foo.name}" type="text"/>

然后提交名称完整的Foos完整列表?

我的控制器如下所示:

@RequestMapping(value = "/FOO", method = RequestMethod.POST)
public String getSendEmail(List<Foo> foos, Model model) {
    // ...
}

问题答案:

也许这回答了你的问题:

CONTROLLER :

@Controller("/")
public class FooController{

    //returns the ModelAttribute fooListWrapper with the view fooForm
    @RequestMapping(value = "/FOO", method = RequestMethod.GET)
    public String getFooForm(Model model) {
        FooListWrapper fooListWrapper = new FooListWrapper();
        fooListWrapper.add(new Foo());
        fooListWrapper.add(new Foo());

        //add as many FOO you need

        model.addAttribute("fooListWrapper", fooListWrapper);

        return "fooForm";
    }

    @RequestMapping(value = "/FOO", method = RequestMethod.POST)
    public String postFooList(@ModelAttribute("fooListWrapper")FooListWrapper fooListWrapper, Model model) {

        //...........
    }

}

FOO LIST WRAPPER:

public class FooListWrapper {
    private List<Foo> fooList;

    public FooListWrapper() {
         this.fooList = new ArrayList<Foo>();
    }

    public List<Foo> getFooList() {
        return fooList;
    }

    public void setFooList(List<Foo> fooList) {
        this.fooList = fooList;
    }

    public void add(Foo foo) {
        this.fooList.add(foo);
    }
}

FOO类:

public class Foo {
    private String name;

    public Foo() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

JSP VIEW(名称= fooForm):

<c:url var="fooUrl" value="/FOO"/>
<form:form id="frmFoo" action="${fooUrl}" method="POST" modelAttribute="fooListWrapper">


    <c:forEach items="${fooListWrapper.fooList}" varStatus="i">
           <form:input path="fooList[${i.index}].name" type="text"/>
    </c:forEach>


    <button>submit</button>
</form:form>


 类似资料:
  • 为了一致性和简单性,我想在我的控制器周围传递一个会话范围的域bean,但这似乎不可能。希望有人能提出建议。 问题:会话范围的bean可以作为MVC控制器参数公开吗 这里似乎有一个注释:@SessionAttributes(“myBean”),但是它只维护一个控制器级别的作用域。 我希望避免与HttpSession交互,而是通过控制器一致地传递域对象图。这似乎是一个相当标准的要求。 这有以下好处:

  • 我想将列表转换为映射,如下所示。下面是一个例子。 我有学生列表类似下面的代码片段。从其中得到一个Hasmap,其中Key为Integer(也就是年龄),value为list。 映射[[10,{1}],[20,{2,3,4}],[30,{5}].[40,{6}]]; 提前致谢.......!

  • 我有一个简单的循环,将元素从一个

  • 问题内容: 在我的Android项目中,我试图将收到的JSONArray转换为List。借助这个SO答案,我走得更远。我现在有以下代码: 不幸的是,它在最后一行抱怨Gson类型的fromJson(String,Type)方法不适用于参数(JSONArray,Type)。我真的不知道该怎么解决。 有人知道我该怎么解决吗? 问题答案: 如果您在此处看到答案,您会注意到该方法中的第一个参数是(json对

  • 我有我想分批处理的编号列表。

  • 我使用的是Eclipselink JPA,有一组DB实体,我想写入一个文件,以防我的DB连接在后续查询中不可用。我想使用Moxy简单地封送我的整个结果集,然后稍后取消对该文件的封送,从而重新创建我的原始结果集(这是我的JPA实体对象)。由于Eclipselink和Moxy在某种程度上是集成的,因此我想在我的JPA代码中了解一下,例如: 感谢您提供的任何帮助。