Teedaでのアプリケーション作成時の注意点

[はじめに]
Teedaの開発モデル

Teedaは設定ファイルへの記述を極力減らし、HTMLをベースとしたページ駆動型の開発スタイルを目指しています。基本的に1html:1Pageクラス(Javaクラス)をモデルとしています。一つのページに対して、一つのJavaクラスが対応する構成をイメージして下さい。

ルール指向での開発

設定ファイルの代わりになるのが、ルール指向の考え方です。これは、ある規約に基づいてコーディングすることで、設定ファイルの肩代わりをする考え方です。

例えば、start.htmlページからボタンを押したらnext.htmlページに遷移したい場合、start.htmlのコードには以下のように記述します。

<input type="submit" id="goNext" value="次へ" />

home.htmlページに遷移したいのなら以下のように記述します。

<input type="submit" id="goHome" value="ホームへ" />

お気づきでしょうか。inputタグのidの属性値に次のページを指定する情報が含まれています。「goNext」であれば「Next」が、「goHome」であれば「Home」が次ページを指し示す情報です。
Teedaは以下の規約で次ページを決定しています。

id="go + 次ページのhtmlファイル名(拡張子を除き、先頭を大文字化)"

このような規約に基づいてコーディングをすることで、設定ファイルに遷移先のページを記述するといった手間を失くします。
ただし設定ファイルの記述がなくなったからといって、“設定を記述する”という作業はなくなったわけではありません。上の例で言うなら、idで指定する属性値にスペルミスがあった場合は当然画面遷移に失敗します。やはり設定は正しく記述しなければいけないことに変わりありません。この正しい記述の仕方を学ぶことがルール指向での開発スタイルです。

[Teedaでの開発で身につけるべきと]
記法の習得

ルール指向での開発で習得すべきことは、規約で定められた記法を身につけることです。この記法を間違えると、解析が困難なエラーメッセージに悩まされることになります。しかもネット上にはSeasar関連のトラブルシューティング情報がまだまだ不足しているので、自力での解決が求められます。
Never give up!

[Teedaの規約 基本編]
ページの構成

1ページ = 1HTML + 1Pageクラス(POJO Javaクラス)

HTMLとPageクラスのマッピング

HTMLのファイル名の末尾に"Page"を付加し、先頭を大文字にしたものがHTMLに対応するPageクラスのクラス名。
(例)add.html → AddPage.java

HTMLとPageクラスのプロパティマッピング

HTMLのタグのid値とPageクラスのプロパティ名を同じにする。
(例)

input.html

年齢:<input type="text" id="userAge" name="age" value="" />
名前:<input type="text" id="userName" name="name" value="" />
InputPage.java

public class InputPage {
	
	private Integer userAge = 21;
	private String userName = "長澤まさみ";