java - Spring 动态列表绑定(bind)

标签 java spring spring-mvc

我有一个典型的场景 - 我已经阅读了很多关于这个的文章,动态添加似乎工作正常。我无法获得动态删除的优雅解决方案。

  1. Web 表单正在模拟用户。用户可以有姓名和电话号码列表。

  2. 可以在客户端使用 Javascript 动态添加电话号码。

  3. 将 phoneNumber 动态添加到 phoneNumbers 中不是问题 - 感谢 LazyList/AutoPopulatingList。

  4. 动态删除是个问题。假设 Web 表单使用 phoneNumbers 呈现为 {1,3,5,7,9}。使用 Javascript,用户在不提交表单的情况下删除 {1,3}。现在,当提交表单时,user.phoneNumbers 应该自动具有 {5,7,9}。

不知何故,Spring MVC 只是不包含更新列表。我正在使用基于注释的 Controller 。

大师们有什么帮助吗?

最佳答案

我通常是这样做的

对于每个删除的 PhoneNumber 对象,我都会执行一个 Ajax 请求。 PhoneNumberRepository 负责删除 PhoneNumber

@Repository
public class PhoneNumberRepositoryImpl implements PhoneNumberRepository {

    public void removePhoneNumber(PhoneNumber phoneNumber) {
        // code goes here
    }

}

这样,您的用户将只包含尚未删除的电话号码。

Here您可以看到我如何删除/添加 基于集合的属性。效果很好!

问候,

关于java - Spring 动态列表绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986273/

相关文章:

java - 此分配中无效的内容 : `Map<String, Object> mObj = new HashMap<String, String[]>();` ?

java - Android Intent 中 SecondActivity.class 的正确含义?

java - 无法在java中获取ASCII码

java - Spring Boot 3 JPA 规范未使用 jakarta 进行过滤

java - 如何解决在 Hibernate4 中的 ServletContext 资源中创建名称为 'sessionFactory' 的 bean 时出错的问题

java - 春java.lang.IllegalStateException : Cannot create a session after the response has been committed

spring-mvc - 通过 STS(eclipse) 建议(红色标记)它们是什么意思

jsp - 从 JSP 迁移到 Freemarker

java - 找不到具有多个上下文的属性 :property-placeholder

spring - Grails AOP 配置异常