機能SAMPLE.2 「EzServlet/押されたボタンに対応するメソッドの呼び出す方法」


この説明をする前に、Webフレームワーク(EzServlet)のレイヤについての説明を…

構成は以下のようになります。

HTML + DTO(java) + Controller(java)

それぞれの比率は「HTML:DTO = 1:1」となり「DTO:CONTROLLER = n:1または1:1」の関係になります。
お互いの関連は、以下のルールで決まります。

1.HTMLとDTOは、同一パッケージに存在し、互いの名称は同名とする。
2.DTOには、関連するCONTROLLERクラスを"staticプロパティー"で指定する。
3.HTMLの「ボタン」タグ等の"name属性"と、CONTROLLERクラスのメソッド名を同名にする。


HTMLは以下の様になります。ファイル名は「Hoge.html」とします。


<html>
<head></head>
<body>
<form method="POST">
<input type="button" name="add" value="足す">
<input type="button" name="sub" value="引く">
</form>
</body>
</html>



DTOクラスは以下の様になります。

public class Hoge implements Serializable {
	/** Hogeに対応するコントロラークラスを保持する属性です */
	public static final Class CONTROLLER_CLASS = HogeController.class;
}

CONTROLLERクラスは以下の様になります。

public class HogeController {
	/** 「足す」ボタンが押された時に呼び出されるメソッドです */
	public void add(Hoge hoge) {
		System.out.println("足すボタンが押されたよ!")
		// 表示するHtmlのDTOをセットします。
		response.setPage(hoge);
	}
	/** 「引く」ボタンが押された時に呼び出されるメソッドです */
	public void sub(Hoge hoge) {
		System.out.println("引くボタンが押されたよ!")
		// 表示するHtmlのDTOをセットします。
		response.setPage(hoge);
	}
}

これで、押されたボタンに対応するメソッドが呼ばれることになります。

超かーんたーん(o^∀^)oネッ♪




ここで書いた「○○のサンプル」は、id:shotさんの「ショウケースとしてのサンプルについて」に
インスパイアされて書いたものです。


始めに自分なりにフレームワークの説明を書いていた時に、
これは違う。分かりづらいっと思っていました。
その時、前に見たshot6さんの「ショウケースとしてのサンプルについて」を思い出して、再度読み
返していたところ、T2フレームワークの開発前(中?)に書いていた「妄想」シリーズを見つけ、
シンプルでスゲー分かり易いと思い真似してしまいました。。。
shot6さん、勝手に真似してすいませんm(__)m 問題があるようでしたら直ぐに削除いたします。。。


ショウケースとしてのサンプルについて(2008-07-07)