我有一个典型的场景 - 我已经阅读了很多关于此的文章,动态添加似乎工作正常。我无法获得动态删除的优雅解决方案。
Web表单正在模拟用户。用户可以拥有姓名和电话号码列表。
可以在客户端使用Javascript动态添加phoneNumbers。
将phoneNumber动态添加到phoneNumbers中不是问题 - 感谢LazyList / AutoPopulatingList。
动态删除是一个问题。假设网络表单使用phoneNumbers呈现为{1,3,5,7,9}。使用Javascript,用户无需提交表单即可删除{1,3}。现在,当提交表单时,user.phoneNumbers应自动拥有{5,7,9}。
不知何故,Spring MVC只是不包含更新列表。我正在使用基于注释的控制器。
大师们有什么帮助吗?
答案 0 :(得分:1)
我通常按以下方式执行
对于每个已删除的PhoneNumber对象,我都会执行Ajax请求。 PhoneNumberRepository负责删除PhoneNumber
@Repository
public class PhoneNumberRepositoryImpl implements PhoneNumberRepository {
public void removePhoneNumber(PhoneNumber phoneNumber) {
// code goes here
}
}
这样,您的用户将只包含尚未删除的PhoneNumber。
Here您可以看到我如何删除/添加基于集合的属性。它工作正常!
的问候,
答案 1 :(得分:0)
我在Autopopulating列表中看到了同样的事情。
我使用dojo ajax调用 1)dojo。用删除的列表值破坏dom,然后 2)在服务器上我做list.remove(索引)。
列表中的值最终为null,但索引和列表的大小保持相同的大小(可能的最大大小,即:如果4个ajax添加调用,列表将保持4的大小,即使一个或多个删除呼叫已完成)。
你能弄清楚为什么会这样吗?