タグ

ブックマーク / itoasuka.hatenadiary.org (7)

  • Wicket 1.4.10 リリース - イトウ アスカ blog

    先週 Wicket 1.4.10 がリリースされましたね。新たに Component クラスに onInitialize() メソッドと onConfigure() メソッドが追加されました。 onInitialize() は、これまでコンストラクタで行っていたような初期化処理を行うためにオーバーライドして使います。 なぜコンストラクタで行ってはいけないかというと、コンストラクタで行うとコンポーネントの相互参照ができないなど「インスタンス化の順序」が問題になることがあるからです。 onInitialize() は、Page オブジェクトに直接または親コンポーネントを経るなりして add された場合、ライフサイクルの最初に実行されます。 私は、Swing のようにイベントリスナを準備して継承を用いずにコンポーネントの機能を拡張できるようにコンポーネントをカスタマイズして使うことが多いのですが

    Wicket 1.4.10 リリース - イトウ アスカ blog
    t_43z
    t_43z 2010/08/17
  • Wicket でこんな風にプロジェクトをすすめました - イトウ アスカ blog

    ちょっとした成功体験を紹介します。 どんなプロジェクトだったか オフコン系の社内業務支援システムをWebベースに作り変えるプロジェクトでした。まだ全部終わってませんので過去形でいうのは適当ではありませんが。 コンポーネントの登録を省力化した とにかくこの手のシステムは1画面あたりの項目数が多い。なので、コンポーネントの生成と登録をちんたら手組しているとラチがあきません。そこで私がとった方法は、Excelシートに項目名とコンポーネントの種類、Wicket ID、必須か否かや値の範囲などの簡単なバリデーション情報を書いて、それを POI で読み込んでソースを生成することでした。 はじめはコンポーネントの種類はまさしくクラス名で指定していたのですが、何度かバージョンアップを繰り替えして今では和名で指定しています。実際のクラス名とは別区XMLファイルで結びつけています。たとえば「テキストフィールド

    Wicket でこんな風にプロジェクトをすすめました - イトウ アスカ blog
    t_43z
    t_43z 2010/06/15
    すごく参考になる
  • 続・Wicket + Guice + warp-persist + JPA を試す - イトウ アスカ blog

    先日のエントリのやり方では Tomcat 上では動いても Glassfish では動かないことがわかりましたので、訂正します。 インジェクタの初期化を Wicket つまり、フィルタ(Wicket はフィルタとして動作している)で行ってはいけないようなので、リスナで初期化を行います。 package com.example.listener; import com.google.inject.AbstractModule; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; import com.google.inject.servlet.GuiceServletContextListener; import com.wideplay.warp

    続・Wicket + Guice + warp-persist + JPA を試す - イトウ アスカ blog
  • Wicket + Guice + warp-persist + JPA を試す - イトウ アスカ blog

    Wicket と ActiveObjects の組み合わせが良いよ!という記事をかなり前に書きました。ところが、その「良さ」を発揮するための Databinder というプロダクトがなかなか Wicket 1.4.x に対応してくれない! んじゃあ、自分でやるぜ! と思って Databinder のソースを見てみたのですが、ちょっと厳しいところがありまして(Wicket 1.4 のジェネリクス対応のせい)Databinder の開発チームも同じところで悩んでいることがあとでわかりました。 ということで、Wicket と ActiveObjects の組み合わせが流行っているなんて言われる割に Databinder なしでみんなどうやってるんだろ? なんて思っていたところです。もしかして、DTO 的なものをわざわざ作っているのでしょうか? それとも Proxy を使ってる? 何にしてもいまい

    Wicket + Guice + warp-persist + JPA を試す - イトウ アスカ blog
  • 教育を通してわかった「Wicketの良さ」 - イトウ アスカ blog

    ここのところJavaによるWebアプリケーションの経験が皆無な人にいろいろ教育してみてわかったのですが、教育の観点からするとWicketはとてもいいですね。 つまり、学習コストが低い。 故あってWicketとともにSlim3も学習対象にしているので、Slim3のような「薄い」フレームワークとの対比となるのですが、以下のような学習コストの低減にあたっての利点がありました。 HTTP そのものの知識がほぼ不要。 テンプレート(View層)の作成には HTML の知識だけでほぼことたりる。 JSPのJSTLのようにJava以外のものを身につける必要がない。 ページ間の値の引渡しについて特別に設計、考慮の必要がない。 ただし、Wicketはリソースいな上にデフォルトのパスがカッコ悪いので、BtoCのWebサービスにはあまり向かないでしょう。逆に従来のC/S型の社内システムをWebベースでリプレー

    教育を通してわかった「Wicketの良さ」 - イトウ アスカ blog
    t_43z
    t_43z 2010/03/09
  • Wicket + Maven なアプリを Google App Engine で動かす その2 - イトウ アスカ blog

    昨日のエントリがあまりにも「動かすだけ」だったので、もうちょっとまともなアプローチを模索してみました。ポイントは Maven2 に GAE/J SDK 関連の依存性を追加 ロガーは java.util.logger を使いましょう ローカルで動かそう デプロイしよう Wicket のプログラム自体は昨日と同じです。将来的に GAE/J で JDO を使用することを睨んでいます。 Maven2 に GAE/J SDK 関連の依存性を追加 Wicket 使いの方の中には Maven を使っている方が多いんじゃないかという思い込みのある私です。私も Maven 愛好者です。ということで、GAE/J に関するパッケージも Maven 管理したいわけです。セントラルリポジトリに該当のパッケージは登録されていないのですが Maven Archetype for GAE/J project で参照してい

    Wicket + Maven なアプリを Google App Engine で動かす その2 - イトウ アスカ blog
  • Wicket + Maven なアプリを Google App Engine で動かす - イトウ アスカ blog

    ミッションは、Wicket の QuickStart で作成した Maven プロジェクトにできるだけ手を加えることなく Google App Engine で動かすことです。 修正または作成しなければならない点は以下の 2 つです。 セッションストアを変更する。 appengine-web.xml を作成する。 なお、この記事の内容は Wicket 1.4-rc4 で試しました。 セッションストアを変更する Wicket では、デフォルトでは org.apache.wicket.protocol.http.SecondLevelCacheSessionStore というのを通してセッションをディスクに保存するようなことをやっています。Google App Engine ではファイル I/O は認められていませんので、このままではエラーになってしまいます。 これを変更するには Wicket

    Wicket + Maven なアプリを Google App Engine で動かす - イトウ アスカ blog
  • 1