0

我们在后端使用 Spring 3 MVC。

我们有一个使用 google maps api 在地图上创建点数组的页面。该数组是一个 Javascript 数组(包含 google api Marker 对象,但我们可以随时从它们获取 LatLng 和实际的 long 和 lat 值)。这实际上是题外话,重点是javascript数组。

该页面还有一个包含各种其他表单元素(名称、点描述等)的表单。

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

我们希望使用 javascript 来实际提交表单,但在它实际提交之前,我们希望将该 javascript 数组(或者更确切地说它的值)放入 Command 对象中。

我们应该怎么做?

我们已经看到了各种类似但不完全的问题,这些问题建议使用 JSON.stringify(pointsArray) ,但我认为这似乎不是我们想要的。

4

1 回答 1

0

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

它类似于 Spring 中使用的 CustomDateEditor。在 UI 中,您可能有不同格式的日期,但您注册 DateEditor 以告诉 spring 如何将 UI(字符串)格式转换为 java(日期对象)格式。

于 2013-02-11T14:44:25.060 回答