libro
www.tuyano.com
Google App Engine for Java(GAE/J)プログラミング入門

複数モデルを連携処理する (3/6)

作成:2010-05-07 16:55
更新:2010-05-10 17:38

■MsgDataの作成機能を作る

では、MsgDataを作成するページを用意しましょう。ここでは、addmsg.htmlとして投稿のフォームを用意することにします。

このページでは、「addmsg.html?id=番号」というようにアクセスすることで、指定のListDataがフォームに設定され、そのListDataに対するコメントが保存されるようにします。ページがロードされると、initialが呼び出され、指定のIDのListDataが呼び出されます。そしてcallback関数で、取得されたデータからタイトルとID番号を、<div>タグおよび非表示フィールドに設定します。

後は、コメントを書いて送信すると、/addmsgにフォームが送られ、ここでMsgDataの作成がされるようになる、というわけです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※addmsg.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>MsgDataの追加</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").innerHTML = data.title + ' (' + data.url + ')';
		}
		//-->
		</script>
	</head>
	<body onload="initial();">
		<h1>メッセージの追加</h1>
		<form method="post" action="/addmsg">
		<table>
			<input type="hidden" id="id" name="id">
			<tr><th>TITLE:</th><td><div id="title"></div></td></tr>
			<tr><th>Message:</th><td><input type="text" name="message"></td></tr>
			<tr><th></th><td><input type="submit" value="追加"></td></tr>
		</table>
		</form>
	</body>
</html>


※web.xmlへの追記


<servlet>
	<servlet-name>add_msg</servlet-name>
	<servlet-class>jp.tuyano.AddMsgDataServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>add_msg</servlet-name>
	<url-pattern>/addmsg</url-pattern>
</servlet-mapping>

※関連コンテンツ

「Google App Engine for Java(GAE/J)プログラミング入門」に戻る