:::: MENU ::::

[java][seasar2]CoCフレームワークTeedaを使って開発効率アップ〜その2〜


こんにちは、sovaのはき猫です。
前回の記事ではseasar2のフレームワーク「Teeda」の概要について解説しました。

今回はTeedaを簡単に使ってみようと思います。

まず、Teedaを使うにあたってセットアップを行います。
TeedaはEclipseでDoltengというプロジェクトを作成することで使えるようになります。
具体的なセットアップ方法は本家のサイトに記載されていますので、そちらをご参照下さい。

セットアップが出来たら適当な名前でプロジェクトを作ってみましょう。仮にここではtestTeedaというプロジェクトとします。
プロジェクトを作成すると src / main / webapps の配下にviewというディレクトリが作成されているかと思います。
Teedaではview内のHTMLファイルに対して必ず1つのPageクラスを持ちます。ブラウザによりhtmlを描画する際に対応したPageクラスをバックエンド側で実行する仕組みになっています。
そして、別の画面に遷移する際には a.html -> aPage.class -> bPage.class -> b.html というように各ファイルが呼ばれます。これをPRG(POST-REDIRECT-GET)パターンと呼び、TeedaではPRGパターンを採用しています。

では早速Teedaで名字と名前を入力したら、入力した値を表示してくれるといった、簡単な画面を作成していきたいと思います。

Teedaではhtml内のidがとても重要になります。htmlのidに指定されたパラメータがPageクラスのインスタンス変数に格納されます。
まずはhtmlファイルを作成します。

このファイルが出来たら ctrl + 5 を入力します。すると、このviewに対するpageクラスを作成することが出来ます。
初期のpageクラスは下記のような構成になっているかと思います。

ここで注目すべきポイントはpageクラスの変数としてhtmlで指定したid名が指定されていることです。Teedaではこのようにhtmlのidとpageクラスの変数を紐付けてくれます。
getter,setter以外のメソッドとして initialize と prerender が生成されています。initialize はページクラスが最初に呼ばれる際やページ遷移されて来た際に1度だけ実行されるメソッドです。これに対して prerender はpageクラスが呼び出される度に毎回実行されるメソッドです。詳細については本家のページに解説があります。
また、submitで指定したidであるdoSubmitはメソッドとしてpageクラスに定義されています。Teedaでは form タグのidに xxxForm のように「Form」で終わるidを指定するとformタグ内のsubmitのidに指定したメソッドでform内のパラメータを受け取ることが出来るような仕組みになっています。

html側で入力された姓名を表示する為のタグを追加します。

そしてpageクラス側に同じようにStringの変数とgetter / setterを追加します。
doSubmitで受け取った変数をresponse〜に代入することで入力した名前がhtmlで表示されるようになります。

これでinputに入力した値が表示されるようになります。
ちなみに、return nullとした場合は受け取り元と同じhtmlファイルを呼び出すことになります。

どうでしょうか、これでTeedaを使って値の受け渡しが出来ました。
とても簡単ですよね。

Teedaを使えばこのように開発がさくさくと実践出来ます。

興味のある方は是非、Teedaを使ってみて下さい。


So, what do you think ?