私は新しいです。私は、さまざまな年齢の子供たちがお互いにビームを撃ち合うようになっているレーザー タグの場所のアプリを書いています。その日、その週、その月のベストスコアを表示するハイスコア画面を作成中です。アイデアは、人々がリストに載っていることを誇りに思うことであり、毎月1回賞品も用意されています.
日付によるフィルタリング全体に行き詰まっています。
基本的に、スコアと顧客情報を追加して、スコアで並べ替えることができるように、古典的なゲストブックの例を変更しました。
Key guestbookKey = KeyFactory.createKey("Guestbook", guestbookName);
String fornavn = req.getParameter("fornavn");
Integer score = Integer.parseInt(req.getParameter("score"));
String email = req.getParameter("email");
String tlf = req.getParameter("tlf");
Date date = new Date();
Entity highscore = new Entity("Greeting", guestbookKey);
highscore.setProperty("date", date);
highscore.setProperty("fornavn", fornavn);
highscore.setProperty("score", score);
highscore.setProperty("email", email);
highscore.setProperty("tlf", tlf);
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
datastore.put(highscore);
jsp には、全体のトップ 5 を取得するクエリがあります。
Query query = new Query("Highscore", highscoreKey).addSort("score", Query.SortDirection.DESCENDING);
List<Entity> greetings = datastore.prepare(query).asList(FetchOptions.Builder.withLimit(5));
そして、ユーザー入力を .java に送信するフォームがあります。日付を設定する方法に関するヒントはありますか? 週番号と月番号を保存し、それに基づいてクエリを実行しますか? 面倒そうです。