Created
April 8, 2010 10:39
-
-
Save cyokodog/359974 to your computer and use it in GitHub Desktop.
big table memo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <%@ page language="java" contentType="text/html; charset=UTF-8" | |
| pageEncoding="UTF-8" isELIgnored="false"%> | |
| <%@ page import="com.google.appengine.api.datastore.Query" %> | |
| <%@ page import="com.google.appengine.api.datastore.DatastoreService" %> | |
| <%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %> | |
| <%@ page import="com.google.appengine.api.datastore.Entity" %> | |
| <%@page import="com.google.appengine.api.datastore.Query.FilterOperator"%> | |
| <%@page import="com.google.appengine.api.datastore.FetchOptions"%> | |
| <%@page import="java.util.List"%> | |
| <%! | |
| HttpServletRequest req; | |
| public String param(String name){ | |
| String str = req.getParameter(name); | |
| if(str == null){ | |
| return ""; | |
| } | |
| return str; | |
| } | |
| public String prop(Entity ent,String name){ | |
| Object obj = ent.getProperty(name); | |
| if(obj == null){ | |
| return ""; | |
| } | |
| return obj.toString(); | |
| } | |
| %> | |
| <% | |
| DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); | |
| Entity ent; | |
| Query q1; | |
| List<Entity> entList1; | |
| req = request; | |
| String reqCmd = param("cmd"); | |
| String reqNo = param("no"); | |
| String reqKind = param("kind"); | |
| String reqProp = param("prop"); | |
| int numNo = 0; | |
| if(!reqNo.equals("")){ | |
| numNo = Integer.valueOf(reqNo); | |
| } | |
| if(reqCmd.equals("ins")){ | |
| ent = new Entity("kinds",reqKind); | |
| q1 = new Query("kinds",ent.getKey()); | |
| if(ds.prepare(q1).asSingleEntity() == null){ | |
| ds.put(ent); | |
| } | |
| } | |
| else | |
| if(reqCmd.equals("add")){ | |
| ent = new Entity("kinds",reqKind); | |
| ent = new Entity("props",reqProp,ent.getKey()); | |
| ds.put(ent); | |
| } | |
| else | |
| if(reqCmd.equals("del_prop")){ | |
| ent = new Entity("kinds",reqKind); | |
| ent = new Entity("props",reqProp,ent.getKey()); | |
| q1 = new Query("props",ent.getKey()); | |
| if(ds.prepare(q1).asSingleEntity() != null){ | |
| ds.delete(ent.getKey()); | |
| } | |
| } | |
| %> | |
| <!DOCTYPE html> | |
| . | |
| <%@page import="com.google.appengine.api.datastore.KeyFactory"%><html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
| <title>ment</title> | |
| </head> | |
| <body> | |
| <form action="define.jsp" method="post"> | |
| <dl> | |
| <dt>KIND</dt> | |
| <dd> | |
| <% | |
| //q1 = new Query("kinds",(new Entity("kinds",reqKind)).getKey()); | |
| q1 = new Query("kinds"); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| %> | |
| <a href="?kind=<%=keyName %>"><%=keyName %></a><br/> | |
| <% | |
| } | |
| %> | |
| <input name="kind" value="<%=reqKind %>"/><input name="cmd" type="submit" value="ins"/> | |
| </dd> | |
| <dt>Property</dt> | |
| <dd><input name="prop" value="<%=reqProp %>"/><input name="cmd" type="submit" value="add"/></dd> | |
| </dl> | |
| </form> | |
| <hr/> | |
| <h3><%=reqKind %></h3> | |
| <table> | |
| <% | |
| q1 = new Query("props",(new Entity("kinds",reqKind)).getKey()); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| %> | |
| <tr> | |
| <td><%=keyName %></td> | |
| <td><a href="?cmd=del_prop&kind=<%=reqKind %>&prop=<%=keyName %>">del</a></td> | |
| </tr> | |
| <% | |
| } | |
| %> | |
| </table> | |
| <hr/> | |
| </body> | |
| </html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <%@ page language="java" contentType="text/html; charset=UTF-8" | |
| pageEncoding="UTF-8" isELIgnored="false"%> | |
| <%@ page import="com.google.appengine.api.datastore.Query" %> | |
| <%@ page import="com.google.appengine.api.datastore.DatastoreService" %> | |
| <%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %> | |
| <%@ page import="com.google.appengine.api.datastore.Entity" %> | |
| <%@page import="com.google.appengine.api.datastore.Query.FilterOperator"%> | |
| <%@page import="com.google.appengine.api.datastore.FetchOptions"%> | |
| <%@page import="java.util.List"%> | |
| <%! | |
| HttpServletRequest req; | |
| public String param(String name){ | |
| String str = req.getParameter(name); | |
| if(str == null){ | |
| return ""; | |
| } | |
| return str; | |
| } | |
| public String prop(Entity ent,String name){ | |
| Object obj = ent.getProperty(name); | |
| if(obj == null){ | |
| return ""; | |
| } | |
| return obj.toString(); | |
| } | |
| %> | |
| <% | |
| DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); | |
| Entity ent; | |
| Query q1,q2; | |
| List<Entity> entList1,entList2; | |
| req = request; | |
| String reqCmd = param("cmd"); | |
| String reqNo = param("no"); | |
| String reqKind = param("kind"); | |
| String reqKey = param("key"); | |
| int numNo = 0; | |
| if(!reqNo.equals("")){ | |
| numNo = Integer.valueOf(reqNo); | |
| } | |
| if(reqCmd.equals("add") && !reqKey.equals("")){ | |
| ent = new Entity(reqKind,reqKey); | |
| q1 = new Query("props",(new Entity("kinds",reqKind)).getKey()); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String propName = row1.getKey().getName(); | |
| String propVal = param(propName); | |
| ent.setProperty(propName,propVal); | |
| } | |
| ds.put(ent); | |
| } | |
| else | |
| if(reqCmd.equals("del") && !reqKey.equals("")){ | |
| ent = new Entity(reqKind,reqKey); | |
| ds.delete(ent.getKey()); | |
| } | |
| %> | |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
| <title>ment</title> | |
| </head> | |
| <body> | |
| <% | |
| //q1 = new Query("kinds",(new Entity("kinds",reqKind)).getKey()); | |
| q1 = new Query("kinds"); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| %> | |
| <a href="?kind=<%=keyName %>"><%=keyName %></a><br/> | |
| <% | |
| } | |
| %> | |
| <h3><%=reqKind %></h3> | |
| <table border="1"> | |
| <tr> | |
| <th>key</th> | |
| <% | |
| q1 = new Query("props",(new Entity("kinds",reqKind)).getKey()); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| %> | |
| <th><%=keyName %></th> | |
| <% | |
| } | |
| %> | |
| <th/> | |
| </tr> | |
| <% | |
| q1 = new Query(reqKind); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| %> | |
| <tr> | |
| <td><a href="?kind=<%=reqKind %>&key=<%=keyName %>"><%=keyName %></a></td> | |
| <% | |
| q2 = new Query("props",(new Entity("kinds",reqKind)).getKey()); | |
| entList2 = ds.prepare(q2).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row2 : entList2) { | |
| String propName = row2.getKey().getName(); | |
| String propVal = prop(row1,propName); | |
| %> | |
| <td><%=propVal %></td> | |
| <% | |
| } | |
| %> | |
| <td><a href="?kind=<%=reqKind %>&key=<%=keyName %>&cmd=del">delete</a></td> | |
| </tr> | |
| <% | |
| } | |
| %> | |
| </table> | |
| <form action="ment.jsp" method="post"> | |
| <dl> | |
| <dt>KIND</dt> | |
| <dd><input name="kind" value="<%=reqKind %>" readOnly/></dd> | |
| <dt>KEY</dt> | |
| <dd><input name="key" value="<%=reqKey %>"/></dd> | |
| <% | |
| q1 = new Query("props",(new Entity("kinds",reqKind)).getKey()); | |
| entList1 = ds.prepare(q1).asList(FetchOptions.Builder.withOffset(numNo*20).limit(20)); | |
| for (Entity row1 : entList1) { | |
| String keyName = row1.getKey().getName(); | |
| String propVal = ""; | |
| if(!reqKey.equals("")){ | |
| q2 = new Query(reqKind,(new Entity(reqKind,reqKey)).getKey()); | |
| ent = ds.prepare(q2).asSingleEntity(); | |
| if(ent != null){ | |
| propVal = prop(ent,keyName); | |
| } | |
| } | |
| %> | |
| <dt><%=keyName %></dt> | |
| <dd><input name="<%=keyName %>" value="<%=propVal %>"/></dd> | |
| <% | |
| } | |
| %> | |
| </dl> | |
| <input name="cmd" value="add" type="submit"/> | |
| </form> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment