要は、PageクラスってHTMLをJavaにしたものでしょ?
だから、そもそもPageクラスなんて手で作らず、
すべてHTMLから自動生成すべきだと言いたい。
もちろん、Dynamic Propertyと呼ばれているものも含めて。
つまり、
InputTextとかLabelとかみたいなクラスがFWに用意されていて、
public Label userId; public InputText userName; public InputPassword password; public InputTextArea comment;
みたいな感じのプロパティ群で出来たPageクラスを、
HTMLから自動生成するわけです。
で、userName.valueで入力値を取り出したり、
userName.disabled = trueで使用禁止にしたりとか。
イベントは、そのPageクラスを継承したActionクラスで処理。
HTML側が書き換わっても、Pageクラスが書き換わるだけだから
GenerationGapパターンよろしくActionには影響なし。
あと、initActionの実行後はPageクラスをシリアライズして
クライアントのhiddenタグで保持しておいた方が良いでしょうか。
そうすれば、画面のイベント発生時に、initAction実行後の値を
そのまま利用することができます。
っていうか、どうみてもASP.NETです。
本当にありがとうございました。
そうなんですよね、
Pageクラスって、いったん行き着く所は.NETなんですよね。
.NETにないのは、Page → DTOの変換器(Dxo)ぐらいですか。
もしかして、
HTMLテンプレート系のフレームワーク(mayaaとか)と、
SwingライクなWebフレームワーク(Wicketとかclickとか)を
組み合わせて、自動生成部分だけホゲっと作ってやれば、
こんな仕組みを実現できたります?
、、、なんて、そんな簡単なわけねーじゃん!