DataStore - 如何检索 ID/名称值?

sap*_*sap 2 google-app-engine google-cloud-datastore

我有一个将实体保存到数据存储中的 Servlet 和一个显示表内容的 jsp。我注意到数据存储会自动为添加到表中的每个新行创建唯一的 ID/名称。当我尝试在 jsp 中显示 ID/名称值时,我得到返回的 null 值。以下是我的代码。我想知道是否有人可以告诉我如何从表中获取 ID/Name 值。预先非常感谢您。

public class RegisterForAccountServlet extends HttpServlet 
{
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException 
    {

    String email = req.getParameter("email");
    Key userKey = KeyFactory.createKey("RegisterUserKey", email);
    Entity user = new Entity("RegisteredUsers", userKey);
    user.setProperty("email", email);
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    datastore.put(user);


    resp.sendRedirect("/ListOfAllUsers.jsp");
}
Run Code Online (Sandbox Code Playgroud)

}

以下是显示所有注册用户的jsp:

<%
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
//Key guestbookKey = KeyFactory.createKey("Guestbook", guestbookName);

// Run an ancestor query to ensure we see the most up-to-date
// view of the Greetings belonging to the selected Guestbook.
Query query = new Query("RegisteredUsers");
List<Entity> users = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(5));
if (users.isEmpty()) 
{
%>
    <p>no registered users</p>

<%
} 
else 
{
%>

    <%
    for (Entity user : users) 
    {
    %>
        <table border="1">
        <tr>
        <td><%= user.getProperty("ID/Name") %></td>
        <td><%= user.getProperty("email") %></td>
        </tr>
        </table>

   <%
    }//for
}//else
%>
Run Code Online (Sandbox Code Playgroud)

Pet*_*ego 5

名称/ID 是实体键的一部分。使用user.getKey().getName()