JDO 查詢網頁:gContactQueryServlet.java

package com.emprogria; import java.io.IOException; import java.util.List; import javax.jdo.Query; import javax.servlet.http.*; import com.google.appengine.api.users.User; import com.google.appengine.api.users.UserService; import com.google.appengine.api.users.UserServiceFactory; @SuppressWarnings("serial") public class gContactQueryServlet extends HttpServlet { @SuppressWarnings("unchecked") public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { resp.setContentType("text/html"); resp.setCharacterEncoding("Big5"); UserService userService = UserServiceFactory.getUserService(); User currentUser = userService.getCurrentUser(); if (currentUser != null) { resp.getWriter().println(currentUser.getEmail()); } String id = req.getParameter("id"); if (id == null) id = "0"; javax.jdo.PersistenceManager pm = com.emprogria.PersistenceManagerFactory .get().getPersistenceManager(); try { Query query = pm.newQuery(Contact.class); try { List<Contact> results = (List<Contact>) query.execute(); if (results.iterator().hasNext()) { resp.getWriter().println( "<html>\n" + "<head>" + "<title>通訊錄-查詢</title></head>\n" + "<body>"); resp .getWriter() .println( "<table border='1' cellspacing='1' cellpadding='1'>"); resp .getWriter() .println( "<tr>\n<td bgcolor='silver' align='center'>ID</td>" + "<td bgcolor='silver' align='center'>MSN</td>" + "<td bgcolor='silver' align='center'>姓名</td>" + "<td bgcolor='silver' align='center'>電話</td>" + "<td bgcolor='silver' align='center'>功能</td>\n</tr>"); String bgcolor = ""; for (Contact myContact : results) { if (Integer.parseInt(id) == myContact.getId()) { bgcolor = " bgcolor='yellow' "; } else { bgcolor = ""; } resp.getWriter().println("<tr>"); resp.getWriter().println( "<td" + bgcolor + ">" + String.valueOf(myContact.getId()) + "</td>"); resp.getWriter().println( "<td" + bgcolor + ">" + String.valueOf(myContact.getMsn()) + "</td>"); resp.getWriter().println( "<td" + bgcolor + ">" + String.valueOf(myContact .getRealName()) + "</td>"); resp.getWriter().println( "<td" + bgcolor + ">" + String.valueOf(myContact.getTel()) + "</td>"); resp .getWriter() .println( "<td" + bgcolor + ">" + "<input type='button' value='刪除' onclick=\"self.location.href='/gContactDel?id=" + String.valueOf(myContact .getId()) + "'\">" + "</td>"); resp.getWriter().println("</tr>"); } resp.getWriter().println("</table>\n" + "</body>\n</html>"); } } finally { query.closeAll(); } } catch (Exception ex) { resp.getWriter().println(ex.getMessage()); } finally { pm.close(); } } }