ナビゲーション、スタイルシートの管理クラス、ValueChangeイベント、コンバーター、バリデーター

今回は新しい言葉がたくさん出てきました。


ナビゲーションは、faces-config.xmlでビジュアルにデザインするやり方。(勝手にxmlが書き換えられる)
ページとページの繋がりを表すので、例えばcommandButtonのaction属性にナビゲーションIDを指定すれば
ボタンを押してページ遷移、なんてのができます。


それからスタイルシートをオブジェクティブに操作するためのクラスを作りました。
メンバーにPropertiesオブジェクトを持っていて、例えば「background-color」がkeyで、「#FFAAAA」がvalue
といった形でスタイルシートの情報を、保持したり変更したり削除したり。
そうすればこのオブジェクトを使うだけでパパッとスタイルが変更できちゃいますよということ。


ValueChangeイベントは、その名のとおり値が変化した時に実行する処理を指定するもの。
コンポーネントの属性として指定すると、状態が変化した時に属性に関連付けられたBeanのメソッドが実行されます。
しかし送信される、という動作のためにonclick属性に"this.form.submit();"を指定します。
javascriptってやつです。多分。…勉強したことない。varとかfunctionとかdocumentの存在しかわからない。


コンバーターは、入力された値を特定のタイプに変換するもの。これもfaces-config.xmlで簡単に設定できます。
整数や実数、真偽値などに対応したコンバーターが用意されているので、それを入力コンポーネントに組み込みます。
属性はconverterで、指定するのはコンバーター名。まんまですね。


それに対してバリデーターは、更にその値の「条件」を記述できます。
同様にxmlで設定したら、コンポーネントのタグの間に
バリデーターを指定し、さらにそのバリデーターの属性(最小値、最大値など)を指定するタグを書いて、と。


また、これらの「条件」に合わなかった場合のメッセージを表示することもできます。
、これだけ。


あと、データベースの表示とかダイナミックなんとかが残ってます。


明日は2限にある一年生の授業に潜入しようかなと考えています。
先生の担当するゼミナールなのです。今年から始まった科目だから、どうなるかはわかりませんが。
3限はアルゴリズム特論だ。プログラミングだ。
うーん、本も終わらせたいけどTA授業の予習と勉強会の宿題もあるし、うまくやりくりしないと。