1
我正在尝试构建一个简单的应用程序引擎数据存储区实体,该实体基本上保留了查看次数。我已经在一个JSP文件中设置了代码,它可以增加变量,但每次看起来增加2个而不是1个。这里是有问题的代码。App引擎数据存储区 - 将属性增量递增2
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity story = datastore.get(KeyFactory.stringToKey(request.getParameter("story_key")));
String json_out = "";
int num_views = 0;
if(story.getProperty("views") != null) {
num_views = Integer.parseInt(story.getProperty("views").toString());
}
//Update the donated status of this object.
story.setProperty("views", num_views + 1);
datastore.put(story);
json_out += "{";
json_out += "\"title\":\"" + story.getProperty("title") + "\", ";
json_out += "\"views\":\"" + num_views + "\"";
json_out += "}";
out.println(json_out);
任何想法,为什么它会被2递增?我甚至在获取视图数量时尝试减去一个,但随后数量始终保持不变,如您所期望的那样。真奇怪。
如果你看跌语句和调试应用程序之前,将断点权发生什么呢?实体中的价值是什么?如果您在该代码中添加日志语句会发生什么?出于某种原因你的JSP被调用了两次? –