我是Spring的新手并且还在学习。我想做一些更高级的表单处理。
目前我的问题是动态列表绑定。
我想要一个文本框,一个列表和添加按钮。什么是场景? 用户填充文本框(带自动填充)和cliks添加按钮。在启动添加操作后,列表将填充而不向服务器发出请求。 用户添加更多项目列表,然后将表单提交给服务器。
什么是问题?
我不知道如何绑定列表或将动态数据传递给服务器。
目前,我已设法从Controller获取JSON响应,其中包含自动完成列表。
Spring表单是否适合此任务?实现这个的正确方法是什么?
答案 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
这应该足以让你开始。