学習用Webフレームワーク作成 その2(リベンジ)



学習用WEBフレームワーク作成 その1(2008-12-22 - T.RYoken がんばる日記 / TryGun blog)




FW専用タグの説明(サンプルを追記)


EzServletは、ビューをHTMLテンプレートで開発します。
HTMLテンプレートのメリットは、JSPの知識が不要となるだけではなく、モックHTMLを開発に利用できることが挙げられます。
また、VIEWにロジックを含まない(出来ない)ため、各種ソースの見通しが良くなります。
HTMLを、動的な画面にするための(6個の)専用タグの説明をします。




1.label(表示項目)タグ


 モックHTMLで表示するダミー値
専用タグの「name属性」をキーに、プロパティファイルから表示する値を取得するタグです。プロパティファイルからの値の取得と値の置き換えは、FWで行います。


サンプル

利用例:モックHTML「hoge.html」


<html>
<body>
<form>
タイトル
</form>
</body>
</html>
上記のモックHTMLの「タイトル」を「プロパティーファイル」の値で置き換えるようにする方法は、下記の通りです。プロパティーファイルの値に置き換えることのメリットは、ロケール毎に表示する値を切り替える(*1)出来ることにあります。
(*1) ロケールの切り替え方法については、「URLパターン」を参照してください。


hoge.html

<html>
<body>
<form>
<tg:label name ="label.title">タイトル</tg>
</form>
</body>
</html>
プロパティーファイルの値に置き換える箇所を「」タグで囲みます。
のname属性には、プロパティーキーを記述します。


HogeController_ja.properties

label.title=たいとる
プロパティーファイルに、のname属性で指定したプロパティーキーを指定し、表示する値を記述します。プロパティーファイルは、HTML(Viewクラス)に対応するControllerクラス毎(*2)に作成します。
(*2)プロパティーファイルは、プロジェクト共通でも問題ありません。


上記設定でアプリを稼動すると、ブラウザーには下記のように表示されます(ロケール:ja)

たいとる


2.out(出力項目)タグ


 モックHTMLで表示するダミー値
Viewクラスから、専用タグの「name属性」と同名のプロパティの値を表示する値を取得するタグです。


サンプル

利用例:モックHTML「hoge.html」


<html>
<body>
<form>
HogeHoge
</form>
</body>
</html>
上記のモックHTMLの「HogeHoge」をアプリから設定した値で置き換えるようにする方法は、下記の通りです。


hoge.html

<html>
<body>
<form>
<tg:out name ="title">タイトル</tg>
</form>
</body>
</html>
アプリから設定した値に置き換える箇所を「」タグで囲みます。
<tg:out>のname属性には、Viewクラスのプロパティー名を記述します。


Hoge.java

 public class Hoge implements Serializable {
public String title;
}
Viewクラスにタグのname属性で指定したプロパティーを作成します。


HogeController.java

public void index() {
Hoge hoge = new Hoge();
hoge.title = ”ほげほげ”;
response.setPage(hoge);
}
コントロラークラスで、Viewクラスのプロパティーに置き換えたい値をセットします。


上記設定でアプリを稼動すると、ブラウザーには下記のように表示されます。

ほげほげ


3.boolean(表示・非表示)タグ


 trueの場合に表示する内容
 falseの場合に表示する内容
Viewクラスの、専用タグの「name属性」と同名のプロパティ(boolean)の値で「表示・非表示」を切り替えるタグです。
サンプル

利用例:モックHTML「hoge.html」


<html>
<body>
<form>
表示内容1<br>
表示内容2<br>
</form>
</body>
</html>
上記のモックHTMLの「表示内容1<br>」「表示内容2<br>」をアプリから設定した値で、表示・非表示を切り替えるようにする方法は、下記の通りです


hoge.html

<html>
<body>
<form>
<tg:true name ="disp">表示内容1<br></tg>
<tg:false name ="disp">表示内容2<br></tg>
</form>
</body>
</html>
アプリから設定した値(boolean)で表示・非表示を切り替える箇所を「」タグ、又は「」タグで囲みます。
のname属性には、Viewクラスのプロパティー名を記述します。


Hoge.java

 public class Hoge implements Serializable {
public boolean disp;
}
Viewクラスにタグのname属性で指定したプロパティーを作成します。


HogeController.java

public void index() {
Hoge hoge = new Hoge();
hoge.disp = true;
response.setPage(hoge);
}
コントロラークラスで、Viewクラスのプロパティーに表示・非表示の設定を行います。


上記設定でアプリを稼動すると、ブラウザーには下記のように表示されます。

表示内容1







つづく…