我有一個servlet傳遞一個ArrayList到一個jsp頁面,它接收它並將它放在一個數組中,但我不能訪問Loc中的參數如果我存儲它們在這樣的陣列中:將複雜的對象通過servlet傳遞到一個數組中的javascript
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;
}
}
從哪裏是U讓你的照片對象(Java對象)? – vlio20
可以說你有一個名爲'photoList'的java對象列表。你現在需要做的是轉換JavaScript。試試這個:'var photo list = JSON.stringify(<%gson.toJson(photoList).toString%>) – vlio20
for循環之前? – JoaoFilipeClementeMartins