gpt4 book ai didi

javascript - Spring MVC 映射多个具有相同名称的动态表单元素

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:55 24 4
gpt4 key购买 nike

我有一个 Spring MVC 应用程序,我想知道如何成功地将我的 JSP 页面中具有相同名称的多个动态 表单元素映射到我的对象类。例如:

在我的 locations.jsp 页面中,我有多个下拉框:

<form id="tabs-3-form">
<input id="locations-1" name="location" />
<input id="locations-2" name="location" />
<input id="locations-3" name="location" />
... (more can be added or deleted dynamically by user)
</form>

我正在使用 jQuery 将表单发布到我的 Controller :

$("#tabs-3-form").submit(function() {
$.ajax({
type: 'POST',
url: '/searchResults',
data: $(this).serialize(),
dataType: 'json',
success: function(data) {
...
}
});
return false;
});

我的 LocationsController.java 设置如下:

@RequestMapping(value = "/locationResults", method = RequestMethod.POST)
public @ResponseBody LocationsCollection locationsCollection
(
@ModelAttribute(value = "location") Location location,
BindingResult result
)
{
LocationsCollection locationsCollection = new LocationsCollection();
locationsCollection.addLocation(location);

// Anything else to do here?

return locationsCollection;
}

LocationsCollection.java 仅包含 Location 对象的列表。

我需要在输入字段的名称中添加方括号吗? MVC 会像其他表单元素一样自动映射到列表吗?如果有人可以提供示例,我将不胜感激。

最佳答案

我能够按照来自以下示例的示例使其工作:http://lifeinide.blogspot.com/2010/12/dynamic-forms-lazylist-and-transparent.html?showComment=1355160197390#c6923871316812590644

不过,我确实做了一项调整。对于表单名称,我使用了:

<input name="locationList[0].locationName" />

而不是文章建议的内容:

<input name="myFormObject.elements[0].property" />

关于javascript - Spring MVC 映射多个具有相同名称的动态表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13779656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com