gpt4 book ai didi

java - Spring MVC jsp 对象列表

转载 作者:行者123 更新时间:2023-11-30 05:13:22 25 4
gpt4 key购买 nike

我使用 Spring MVC 3.0 和 JSP。我有一个对象:

public class ObjectWrapper {
private List<SomeTO> someTOs;
}

SomeTO包含诸如nameid之类的字段。如何创建一个用户可以动态添加到 SomeTO 列表的表单?我用谷歌搜索并找到了一些关于 spring:bind 的内容,但我不清楚。

最佳答案

在表单支持方法中,将列表设置为 LazyList,它是 apache commons 集合库的一部分。

Factory notificationFactory = new Factory() {
public Object create() {
SomeTO rtVl = new SomeTO();
return rtVl;
}
};
myFormBacking.setSomeTOs(LazyList.decorate(myFormBacking.getSomeTOs));

然后在您的表单上,当您将数据发送到服务器时,您可以这样做

<input name="someTOs[0].name" value="" />

如果你使用

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

然后你就可以走了。

<form:input path="someTOs[0].name" />

在将数据发布到服务器之前,为了使修剪更容易,请设置集合中的元素数量。因此,如果用户添加了 5 个 TO,则在表单 post 中发送该长度值。

现在在服务器上,您必须在保存之前修剪列表。这是剪枝函数

public List<SomeTOs> pruneList(List<SomeTOs> unpruned,int expectedLength){
List<SomeTOs> rtVl = new ArrayList<SomeTOs>();
for (int i = 0; i < unpruned.length && expectedLength; ++i){
rtVl.add(unpruned.get(i);
}
return rtVl;
}

这里是在onsubmit(保存之前)中prune函数的使用

wrapper.setSomeTOs(pruneList(wrapper.getSomeTOs(),Integer.parseInt(request.getParameter("expectedLength)));

关于java - Spring MVC jsp 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2545405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com