Wicket Bits を試してみた
ちょっと前にメーリングリストでアナウンスのあったWicket Bitsを試してみました。
正確にはWicket Bits内の Automagic を試したのですが、どういう物かというと Wicketでお馴染みの wicket:idをHTMLに記述すると、Javaは特にいじらなくても自動的にコンポーネントを生成してくれる仕組みです。
使い方は簡単。まずWebapplicationクラスに下記を追加します。
public void init() {
this.addComponentOnBeforeRenderListener(new AutoCreateRenderListener());
}
HTMLがこんな感じのとき、<body> <div wicket:id="label">Hoge</div> </body>Javaはこんな感じでOK。Labelを生成してaddしなくてもOKなんです。
private String label = "Hello !";
public HomePage() {
setModel(new CompoundPropertyModel(this));
これだけで"Hello !"が表示されちゃいます。仕組み的にはコンポーネントをRenderする前にタグと属性の型により、生成するコンポーネントを制御しています。
Wicket勉強会で話題になったらしいComponent Resolverを使っているわけではないようです。
タグとコンポーネントが結びついちゃってるってのは、ちょっと融通が聞きにくい部分なんですが、(例えばtableではなく、ulとかでListViewを使いたいとき)なかなか面白い試みですね。
まだまだできる事とできない事を調べ切れていないですが、ある意味割り切った形というのもアリですね。
2008-10-08 Wed 23:33
しばらく見ない間にブログがパワーアップしてますね。
ベースがWicketというのもすごい!
Wicket Bitsおもしろそうですね。たしかTeedaのトップダウンアプローチも同じような感じで実現できたような気がします。
また個人的に教えてくださいね。
2008-10-10 Fri 06:59
Wicket Bitsは制約がいろいろありそうですが、割り切って使えれば生産性が上がると思うんですよね。
割り切るってところが難しいんですが、、、