2013-02-11 46 views
0

我们在后端使用Spring 3 MVC。使用Javascript数组填充命令数组/列表提交?

我们有一个页面使用谷歌地图api在地图上创建点数组。这个数组是一个Javascript数组(google api标记对象,但我们可以在任何时候获取LatLng,然后获取它们的实际长和纬值)。这实际上就在这一点上,焦点集中在一个javascript数组上。

该页面还具有其他各种表单元素(名称,点等的描述等)的表单。

我们有一个表单支持Command对象,它明显具有名称,描述等变量,我们还可以为点或两个数组或列表添加一个数组/列表,如果它更容易将lat和long分开,稍后通过索引匹配它们。

我们希望使用javascript实际提交表单,但在实际提交之前,我们希望将该数组(或其值)存入Command对象。

我们该怎么做?

我们已经看到了各种类似但不太相当的问题,建议使用JSON.stringify(pointsArray),但这看起来并不完全符合我的想法。

回答

0

因此,如果您使用javascript提交表单,并且您在javascript中提供了所有的坐标,那么在提交表单之前,只需以任何您想要的格式设置输入字段值(命令对象的属性)即可。假设你选择了这种格式:<input name="command.coords" value="[{lat:5, long:6}, {lat:7, long:8}]"然后在服务器端(对于spring)你注册一个自定义的PropertyEditor(Converter)来将你的输入格式转换成你想要的服务器端格式(可能你会将json转换为List)

它与Spring中使用的CustomDateEditor类似。在UI中,你可能有不同的日期格式,但你注册DateEditor告诉春天如何将UI(String)格式转换为java(Date对象)格式。