Spring + JQuery动态绑定

时间:2011-03-28 18:48:04

标签: java jquery spring spring-mvc

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

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

我想要一个文本框,一个列表和添加按钮。什么是场景? 用户填充文本框(带自动填充)和cliks添加按钮。在启动添加操作后,列表将填充而不向服务器发出请求。 用户添加更多项目列表,然后将表单提交给服务器。

什么是问题?

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

目前,我已设法从Controller获取JSON响应,其中包含自动完成列表。

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

1 个答案:

答案 0 :(得分:1)

这是我认为你想要实现的目标。第一:我假设问题不是自动完成/添加到列表,而是如何处理MVC方面的列表。假设您的命令对象具有属性“employee names”,定义为

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

这应该足以让你开始。