【问题标题】:Spring + JQuery dynamic bindingSpring + JQuery 动态绑定
【发布时间】:2011-03-28 18:48:03
【问题描述】:

我是 Spring 新手,仍在学习。我想做一些更高级的表单处理。

目前我的问题是动态列表绑定。

我想要一个文本框、一个列表和添加按钮。什么是情景? 用户填充文本框(带有自动完成功能)并单击添加按钮。启动添加操作后,列表被填充而不向服务器发出请求。 用户在列表中添加了更多项目,然后将表单提交到服务器。

什么问题?

我不知道如何绑定列表或将动态数据传递给服务器。

目前我已经设法从控制器获得 JSON 响应,并带有自动完成列表。

Spring 表单是否适合这项任务?实现这一点的正确方法是什么?

【问题讨论】:

    标签: java jquery spring spring-mvc


    【解决方案1】:

    这是我认为您正在努力实现的目标。首先:我假设问题不是自动完成/添加到列表,而是如何处理 MVC 端的列表。假设您的命令对象有一个属性“员工姓名”,定义为

    List<String> getNames(){..}
    void setNames(List<String>){..}
    

    在 JSP 方面,您可以像这样定义表单列表项:

    <form:form>
       <c:forEach items="${command.names}" var="name" varStatus="status">
         <form:input path="names[${status.index}]" />
       </c:forEach>
    </form:form>
    

    使用 jQuery 使其“动态”的真正技巧是使用 下一个递增索引添加到表单中。所以你有什么地方:

    <script type="text/javascript">
    var count = ${fn:length(command.names)};
    function addToList()
    {
       // add to form with name to "names[count]"
       count++;
    }
    </script>
    

    将它们放在一起,您将控制器 formBackingObject 中的列表设置为 AutoPopulatingList

    这应该足以让你开始。

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 2012-10-23
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 2015-01-29
      • 1970-01-01
      相关资源
      最近更新 更多