いろんなJava Webフレームワークで同じ画面を作ってみる(Teeda編)
いろんなJava Webフレームワークで同じ画面を作ってみる(Teeda編)です。
お題は、こちら。
- 公式サイト: Teeda - Welcome
- バージョン: 1.0.13-sp10
Teedaは、JSFの実装でHTMLテンプレートが利用できることが特徴です。規約重視のフレームワークです。
HTMLテンプレートといえばMayaaはよく使ったなぁ。
convention.dicon
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd"> <components> <component class="org.seasar.framework.convention.impl.NamingConventionImpl"> <initMethod name="addRootPackageName"> <arg>"webapp"</arg> </initMethod> </component> </components>
SAStrutsと同じ感じで、まずはaddRootPackageNameでベースとなるパッケージを指定します。
AddInputPage.java
まずは、入力画面のページクラスです。
package webapp.web; import org.seasar.teeda.extension.annotation.validator.Required; public class AddInputPage { @Required public Integer arg1; @Required public Integer arg2; public Integer result; public Class<AddResultPage> doCalculate() { result = arg1 + arg2; return AddResultPage.class; } }
ページ駆動の開発で、Dolteng使うとページクラスも簡単に生成できます。htmlとページクラスを1対1で作成するというわかりやすさはあると思います。
AddResultPage.java
次は、結果出力画面のページクラスです。
package webapp.web; public class AddResultPage { public Integer result; }
フィールド名を合わせておけば、値は引き継がれるということでしょうか。エラー発生時の画面遷移の変更方法がわからない。。
addInput.html
入力画面のHTMLです。
<!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" xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> <form id="Form"> <div><span id="messages"></span></div> <input type="text" id="arg1"/><span id="arg1Message"></span><br/> +<br/> <input type="text" id="arg2"/><span id="arg2Message"></span><br/> <input type="submit" id="doCalculate"/> </form> </body></html>
本当に純粋なHTMLです。id属性の規約で色々実現されていますが、id属性はJavaScriptやスタイルシートから利用されることを考えると、Mayaaのように m:id 属性みたいなのが、あった方が良かったのかとも思います。
addResult.html
結果出力画面のHTMLです。
<!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" xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> <span id="result"></span> </body></html>
いじょ