Javaプログラミング/Javaプログラミング関連情報

データストアからデータを取得する(2ページ目)

今回は、Google App Engineのデータストアに保存されたデータを取り出す処理について考えてみましょう。

執筆者:掌田 津耶乃

index.jspを用意する


では、作成したサーブレットを埋め込む形でindex.jspを作成しましょう。これは、単純に<jsp:include>でサーブレットを埋め込んでおけばよいでしょう。

<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; utf-8" />
  <title>PersonalData Index</title>
  </head>
  <body>
    <h1>PersonalData Index</h1>
    <jsp:include page="/gae_helo" />
  </body>
</html>

index.jspにアクセスすると、データストアに保管しているSampleDataが一覧表示される。

作成したら、実際にindex.jspにアクセスして、表示を確認しておきましょう。

オブジェクトの検索を行う


では、全オブジェクトではなく、特定のオブジェクトだけを取り出すにはどうすればよいのでしょうか。これは、既に「JDOQLは、SQLと似た文法だ」ということに気づいた人なら、なんとなく想像がつくのではないでしょうか。そう、「select from ~ where ~」というようにしてwhere句をつけて検索条件の設定を行えばよいのです。では、これもやってみましょう。

まず、検索用のフォームと、検索結果を表示する「find.jsp」というファイルを「war」内に作成しましょう。これはざっと以下のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; utf-8" />
  <title>PersonalData Index</title>
  </head>
  <body>
    <h1>PersonalData Index</h1>
    <%=session.getAttribute("result") %>
    <hr />
    <form method="post" action="/gae_find">
    <table>
    <tr><td>ID:</td><td><input type="text" name="id" /></td></tr>
    <tr><td></td><td><input type="submit" /></td></tr>
    </table>
    </form>
  </body>
</html>

ここでは、検索結果はsession.getAttribute("result")という形でサーブレットから受け取り、表示するようにしておきました。
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます