Hatena::ブログ(Diary)

おおたに6号機blog このページをアンテナに追加 RSSフィード

2008-02-12(火)

[]Teedaチュートリアル4 19:39 Teedaチュートリアル4を含むブックマーク

チュートリアル4は、入力/サブミット・画面遷移についてです。

チュートリアルでは、以下のことを学びます。

 ・Teeda入力コンポーネントの使い方/submitコンポーネントの使い方

 ・Teedaの画面遷移の仕方について

 ・値の引継ぎの基本について

上記のことを学ぶために、以下のHTML/Pageクラスを書いてみます。

 1.足し算入力画面のHTMLとPageクラス

 2.足し算結果画面のHTMLとPageクラス

1をaddInput.html/AddInputPage.javaとし、2をaddResult.html/AddResultPage.javaとします。


4-1.入力コンポーネントの使い方/submitコンポーネントの作り方・使い方

入力コンポーネントの使い方/submitコンポーネントの作り方・使い方をみていきましょう。

addInput.htmlを書いてみます。前回のチャプターでHelloWorldを出してみたのを思い出してください。

Pageクラスのプロパティテキスト出力するために以下のように書いたはずです。

  <span id="name"></span>

今度は同じようにinput項目を書いてみましょう。ここでTeedaの基本原則を思い出してください。

そう、タグid属性にPageクラスのプロパティ名と同一のものを記述する、でしたね。

同じようにinputタグでもid属性を使って、Pageクラスのプロパティマッピングします。下記のように記述します。

  <input type="text" id="arg1"/>

ではaddInput.htmlを書いてみましょう。

リクエストサーバ側へ送信したいので、formタグ・inputタグを使って下記のように記述します。


<?xml version="1.0" encoding="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" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form id="Form">
<div><span id="messages"></span></div>
<table>
	<tr><td><input type="text" id="arg1" /></td></tr>
	<tr><td><span>&nbsp;+&nbsp;</span></td></tr>
	<tr><td><input type="text" id="arg2" /></td></tr>
	<tr><td><input type="submit" id="doCalculate" value="計算実行"/></td></tr>
</table>
</form>
</body></html>

ここでもう一点注目すべきことがあります。

それは<input type="submit" id="doCalculate" value="計算実行"/>です。

id属性をみてください。doCalculateとまるで動詞のように書かれています。

そう、Teedaではメソッドとして扱われます。Teedaではsubmitなどのイベントを発生させるタグなどは、

doメソッドと呼ばれており、Pageクラスのメソッドとマッピングされます。

submitタグをPageクラスのメソッドとマッピングする場合には、idをdoからはじめます。例えばdoCalculateのようになります。

他にも何種類かバリエーションがありますが、まずはsubmitタグidにPageクラスのメソッド名を

記述してマッピングする、と覚えましょう。



ではDoltengを使って、AddInputPageを作ってみましょう。

package examples.teeda.web.add;

public class AddInputPage {

	public Integer arg1;//1
	public Integer arg2;//2

	public Class doCalculate() {//3
		return null;
	}

	public Class initialize() {
		return null;
	}

	public Class prerender() {
		return null;
	}

}

では作成したPageクラスを振り返ってみましょう。

Pageクラスの番号が振ってある部分を見てください。

1、2はinput textタグ(<input type="text" ...)とマッピングします。

3はinput submitタグ(<input type="submit" ...)とマッピングし、ボタンが押されると、

doCalculateメソッドが呼ばれます。


・ここまでのまとめ

 ・入力項目のタグでもTeedaの原則に違わず、idによってPageクラスのプロパティマッピングする

 ・submit項目はid属性によってPageクラスのメソッドとマッピングする


4-1では、入力コンポーネントの使い方/submitコンポーネントの作り方・使い方を学びました。

katzchangkatzchang 2008/04/10 15:03 <tr><td><input type=”submit” id=”doCalculate” value=”計算実行”/></span></td></tr>

↑で、span要素の開始タグが抜けているようです><

shot6shot6 2008/04/10 16:28 お、ありがとうございます。修正しておきます。