【发布时间】:2011-07-07 13:30:17
【问题描述】:
我正在使用谷歌应用引擎和 JDO。在我的一个 servlet 中,我在链表中添加对象并使用持久性管理器保存所有内容。直到 servlet 结束,它表明一切正常。它附加了链表确定。但是当我尝试使用 jsp 页面从数据存储中获取该链接列表时,我发现只有一个对象被添加到该链接列表中。我在链表中添加的其余对象未保存在数据存储中。为什么会这样?
提前致谢。
这是代码:
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/html");
PersistenceManager pm = PMF.get().getPersistenceManager();
try
{
//....
for(int j=0; j<coordinate.length; j++){
if(j < locations.size()){
locations.get(j).getCoordinate().setLatitude(coordinate[j].x);
locations.get(j).getCoordinate().setLongitude(coordinate[j].y);
}else{
loc.setLatitude(coordinate[j].x);
loc.setLongitude(coordinate[j].y);
locat.setCoordinate(loc);
locations.add(locat);
}
System.out.println(locations.size());
}
}catch(Exception ex){
System.out.println("Error fetching runs: " + ex);
}final{
pm.close();
}
}
【问题讨论】:
-
您的代码中可能存在错误。我会看第 142 行。
-
我正在使用 println 语句观察值。当我在我的 servlet 末尾时,链表的大小就是我想要的。但是当我从数据存储中访问它时,就会出现这个问题。
-
当然。如果您希望我们帮助您编写代码,请出示您的代码。我们没有水晶球。
-
我用代码编辑了我的问题。请看一看。
-
位置在哪里定义?它从何而来?定位在哪里定义?您确定没有多次将同一个 locat 对象添加到列表中,这可以解释数据存储区只存储一次吗?
标签: java google-app-engine jdo linked-list