我使用java servlets。我编写了一个没有错误的代码,但它总是返回一个空列表。 我想从servlet更新数据存储区。我只是想读实体。我附上我的代码告诉我问题在哪里。
我总是把数据存储空了。这只是一个测试代码。即使这个剂量似乎也能正常工作。搜索互联网一周。一切都是徒劳的。
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
resp.getWriter().println(datastoreService.getIndexes());
if (datastoreService.getIndexes().isEmpty())
resp.getWriter().println("the data store is empty");
Query query = new Query("IMAGES");
PreparedQuery pq = datastoreService.prepare(query);
for (Entity entity :pq.asIterable())
{
resp.getWriter().println(entity.getKind() );
resp.getWriter().println(entity.getAppId() );
resp.getWriter().println(entity.getKey() );
}
if (!pq.asIterable().iterator().hasNext())
resp.getWriter().println("the data store is empty");
}
答案 0 :(得分:0)
我纠正了我的问题。我忘了添加名称空间。这是关于如何在GAE DataStore中设置命名空间的片段。
// Set the namepace temporarily to "abc"
String oldNamespace = NamespaceManager.get();
NamespaceManager.set("abc");
try {
... perform operation using current namespace ...
} finally {
NamespaceManager.set(oldNamespace);
}