データストアのCRUD (3/6)
作成:2010-05-03 17:12
更新:2010-05-10 17:24
更新:2010-05-10 17:24
■データの編集・更新
続いて、保存してあるデータ(オブジェクト)の編集や更新処理についてです。これは、今までやった検索処理を少しだけ修正するだけで可能です。すなわち、編集したいオブジェクトを、IDをもとにして取得し、そのフィールドの値をGetter/Setterで変更する。それからそのオブジェクトを保存すればいいのです。
ここでは、編集用のサーブレットとして「EditLinkDataServlet」というものを/editに公開しています。またedit.htmlでは、ページのロード後、自動的にgetDataが呼び出され、指定されたidというパラメータのデータを取り出してフォームの各フィールドに値を設定するようにしています。これで、「現在の値」が編集できるようになるわけです。
そして、修正後、フォームを/editに送信し、後はサーブレット側で更新処理を行えばいいというわけですね。
ここでは、編集用のサーブレットとして「EditLinkDataServlet」というものを/editに公開しています。またedit.htmlでは、ページのロード後、自動的にgetDataが呼び出され、指定されたidというパラメータのデータを取り出してフォームの各フィールドに値を設定するようにしています。これで、「現在の値」が編集できるようになるわけです。
そして、修正後、フォームを/editに送信し、後はサーブレット側で更新処理を行えばいいというわけですね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※edit.htmlの内容
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>LinkDataの更新</title>
<script type="text/javascript" src="lib.js"></script>
<script type="text/javascript">
<!--
function initial(){
var datas = getQuery();
getData(datas.id);
}
function callback(request){
var arr = eval(request.responseText);
var data = arr[0];
document.getElementById("id").value = data.id;
document.getElementById("title").value = data.title;
document.getElementById("url").value = data.url;
document.getElementById("comment").value = data.comment;
}
//-->
</script>
</head>
<body onload="initial();">
<h1>データの更新</h1>
<table>
<form method="post" action="/edit">
<input type="hidden" id="id" name="id">
<tr><th>TITLE:</th><td><input type="text" id="title" name="title"></td></tr>
<tr><th>URL:</th><td><input type="text" id="url" name="url"></td></tr>
<tr><th>COMMENT:</th><td><textarea id="comment" name="comment"></textarea></td></tr>
<tr><th></th><td><input type="submit" value="追加"></td></tr>
</form>
</table>
</body>
</html>
※web.xmlへの追加
<servlet>
<servlet-name>edit_linkdata</servlet-name>
<servlet-class>jp.tuyano.EditLinkDataServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>edit_linkdata</servlet-name>
<url-pattern>/edit</url-pattern>
</servlet-mapping>
※関連コンテンツ
「Google App Engine for Java(GAE/J)プログラミング入門」に戻る