【发布时间】:2014-02-07 11:40:33
【问题描述】:
我有一个 servlet,它将一个 ArrayList 传递给一个 jsp 页面,该页面接收它并将其放置在一个数组中,但是如果我将它们存储在这样的数组中,我将无法访问 Loc 中的参数:
var locations = new Array();
<c:forEach items="${photosName}" var="photo" varStatus="loop">
locations["${loop.index}"] = "${photo}";
</c:forEach>
变量照片包含我希望存储在位置数组中的纬度、经度和准确度等属性。但是如果我这样存储它们,我如何在代码的其他部分访问它们。
我想做的例子:
locations[i].latitude
locations[i].longitude
locations[i].accuracy
欢迎任何帮助:)
现在试过了:
var locations = new Array();
<c:forEach items="${photosName}" var="photo" varStatus="loop">
locations["${loop.index}"] = JSON.stringify("${photo}");
</c:forEach>
alert("latitude: "+locations[0].latitude+ " longitude: "+locations[0].longitude);
它打印纬度:未定义经度:未定义。我需要导入一些东西才能让 json.stringify 工作吗?
jsp中的照片对象就是用这个类来表示的:
@Entity
public class Loc implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long id;
private double latitude;
private double longitude;
private long time;
private double accuracy;
private int processed;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public double getLatitude() {
return this.latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return this.longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public long getTime() {
return this.time;
}
public void setTime(long time) {
this.time = time;
}
@Override
public String toString() {
return "latitude: " + latitude + " longitude: " + longitude + "time: "
+ time;
}
public double getAccuracy() {
return accuracy;
}
public void setAccuracy(double accuracy) {
this.accuracy = accuracy;
}
public int getProcessed() {
return processed;
}
public void setProcessed(int processed) {
this.processed = processed;
}
}
【问题讨论】:
-
你从哪里得到你的照片对象(哪个 java 对象)?
-
假设您有一个名为
photoList的 java 对象列表。您现在需要做的是转换 javascript。试试这个:var photo list = JSON.stringify(<%gson.toJson(photoList).toString%>) -
是的,这就是将 java 列表转换为 javascript 数组的方式
-
它在 toString 部分给我一个错误,语法错误,插入“AssignmentOperator Expression”以完成表达式
-
查看我编辑的答案,应该是:
var photo list = JSON.stringify(<%=gson...
标签: java javascript arrays jsp servlets