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を使用してフォームをコントローラーにPOSTしています。
$("#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は、他のフォーム要素と同様に、リストへのマッピングを自動的に行いますか?誰かが例を提供することができれば、私はそれをいただければ幸いです。