時代がライトウェイト言語へとシフトしつつある中、軽快に使えるフレームワークが次々登場してきました。本連載では、Javaで注目されている軽量フレームワークの中から注目株をピックアップし、概略を紹介します。第1回目の今回は「Apache Wicket」の基本的な構成と使い方を覚え、実際にWebアプリケーションを作ってみましょう。 はじめに 以前は、Javaの世界でフレームワークと言えば「Struts」と定番が決まっていました。しかし、フレームワークによる開発は、どうしても大掛かりなものになりがちです。時代がライトウェイト言語(Lightweight Language、PHPやRubyなどのスクリプト言語)へとシフトしつつある中、重量級のフレームワークは、やや時代遅れな印象をもたれてしまうのは仕方のないことでしょう。 もっと軽快に使えるフレームワークがあれば、と思う人は多かったに違いありません。
雑談, Java Seasar Conference 2009 WhiteでWicketのことを話してきました。今回は「あまりコード、コードという客層じゃないのでギーク向けとか考えない方がいいかも」という前情報を得ていたので、日本語ベースでいろいろ話しました。資料は以下のURLに上がってますのでどうぞ。http://event.seasarfoundation.org:80/sc2009white/Session#S3061 演台までプロジェクタのケーブルが伸びなかったのが盲点。なるほどこういうのも想定しとかないとな。個人的には、真ん中付近に立ったほうが話しやすいかなーと思ってるのだけど、あとで人に聞いたらけっこう賛同者がいてよかった。 内容的には、フレームワークがいつまで経っても固定化しないで新しいのが出てくるのは、時代が進んでいてお客さんの要望も(特に日常的にウェブに接することによって
基本 XHTML で記載しています. valid な XHTML でないとエラーになってしまうので 注意してください. wicket:id プログラムとの連携に wicket:*** という要素を使用しています 例 <div wicket:id='foo'> <a href='' wicket:id='hoge'> hogehoge </a> </div> foo の中にある hoge という感じでプログラムからは見てるので wicket:id って付いてる要素の上下関係だけ崩さなければ ok です. (XML的に) その他 wicket:** <wicket:message='hoge' >メニィー</ wicket:message> 中に何を書いても平気です. <wicket:remove> </wicket:remove> これで囲まれた要素は無視されるので, デザインで必要であれば
Java, Wicket主についったーでid:yuripopがWicketとSeasar2を統合しようとしてウンウン悩んでいるのをみて、いっちょやるかと思ってやった次第。 Seasar 2とWicketの統合にはS2Wicketというライブラリが既に存在していて有名なんですが、このS2WicketがWicket 1.2系統(org.apache.wicketにパッケージ名が変わる前)に向けて作られているっぽく、最新のWicket 1.4-rc1では動かないんですね。 Wicketのページクラス内のフィールドに値を持つ場合、それらのオブジェクトはすべてシリアライズ可能である必要があります。これは、ページはHttpSessionに格納されたり、2次キャッシュ・ファイルに保存されたりするためです。そのために、単純にDIで値を放り込んでもダメなんです。 Wicketでは、この問題を「フィールドには
Java仕事で各種フレームワークを比較検討したので、比較用に作った参考資料を公開します。ちなみに現在私は、ドワンゴさんの社内システム開発をお手伝いしてまして、その一環で調べたものです。会社資料じゃなく、私の資料ということでブログで公開してよい、むしろしとけ、とのことなので公開しときます。 今回の案件向けにアプリケーションを画面層コンテナ層データアクセス層に分けて、それぞれフレームワークを選ぶのが目的です。コンテナ層はDIコンテナのうちいずれか、データアクセス層はO/Rマッパーを選ぶことになります。 太枠の範囲が選定対象です。よく本に出てくる杓子定規な階層図とは変えてあります。 次のものを比較検討しました。画面層SAStrutsApache Wicket(ほかにもTeedaとかClick Frameworkとかももともとは候補にあったが、調査が追いつかないので二つに絞った)コンテナSeasa
wicket-jaのメーリングリストでWicketTesterの質問が出て、初めて存在を知りました。 id:t_yanoさんのメーリングリスト内での説明によりますと、 位置づけとしてはJUnitで行うユニットテストですね。WicketTesterは本来はアプリケーション サーバが提供するはずのリクエストやレスポンスなどのオブジェクトのモック(模型)を使用して、 APサーバにディプロイしないままWicketアプリケーションのテストを行うことができるように するものです。 とのことで、Validatorのテストをどうしようかと思っていたので、試してみることにしました。 バージョンは、Wicketは1.3.3でJUnitは4.4です。 ソースコード LoginTest.java package test; import org.apache.wicket.util.tester.WicketTe
12時にシャワー浴びてたら、ふと思いついたからやってみた。 *追記:やり直したうぃけたんwithねこび〜んはこちら もうね、一度死んで来い(#゚Д゚)ゴルァ!!、と(;´Д`) 風呂上り三時間をこんなことに費やすぐらいなら勉強に費やせよ、と(;´Д`) 「もえたん」トレスする労力よりEclipseインストールするほうが楽だろ、と(;´Д`) ちょっと首くくってくるわ( ´・ω・`)ノ~ 暑くて思考停止。 肩叩かれるまで画面ガン見でフリーズしてました( ̄∀ ̄;) 僕に搭載されているOSはWindows 98のようです。 エアコン入れるよりパソコンを放置プレイした方が部屋が暑くなる。 4月でこんなにキテるって相当ヤバイ。 はやくナ●ョナルあたりが『冷蔵庫スーツ』を開発してくれないだろうか?(;´Д`) サウナスーツのクーラーVerも可(´∀`*)
Wicketでググっても上位に出てくるのが、少し古いバージョンの記事が多く、これから使い始めようという人にとっての混乱の元になっていると思います。 周りのメンバーでWicketの勉強会をしようということになったので、Wicketの1.3.2(現在の最新バージョン)を自分で触り始めて参考になった日本語のページを以下にまとめました。 ブログに関しては記事ごとではなく、そのブログのWicketに関するカテゴリにリンクしています。 他にもよいサイトがあったら是非教えてください。 http://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/index.html(2008/05/29追加) 本家のJavadocです。1.3.2に対応しています。 Gside Blog - Homepage of tma(2008/05/29追加) Gside Bl
WebアプリケーションフレームワークWicketが正式リリースされたのは2005年の6月。まもなく1年を迎ようとしている。Wicketは、Webアプリケーションの開発を容易にするため、それまでのフレームワークとは一風変わったアプローチを取っていることで注目された。Wicketの現在の最新版はバージョン1.1.1であり、6月には様々な改良が加えられたWicket 1.2がリリースされる予定になっている。本稿では、そのWicketを使用して簡単なWebアプリケーションを作成する方法を紹介する。 Webアプリケーションフレームワーク いわゆるWebブラウザから操作するWebアプリケーションを開発する場合、いちからすべて作成するということはまずない。まず基本となるWebアプリケーションを決め、実現したい機能から必要になるライブラリをそろえ、それらを組み合わせてシステムの開発をおこなう。 Javaを
WicketとMaven2を使った開発 Wicket+Maven2+EclipseによるWicket開発の始め方 (このページの内容はWicket開発環境の構築の続きです) ここでは、Wicketでの開発にMaven2+Eclipseを使う場合の方法を説明します。 説明には、ここで作成した開発環境を使っており、1つのディレクトリ以下にeclipse、jetty、eclipseのワークスペースがまとめられた環境を使っています。 Mavenによるプロジェクトディレクトリの作成まず、Mavenの規約にそったプロジェクトディレクトリを作成します。コマンドプロンプトを開いて、Eclipseのワークスペースにディレクトリに移動し、 E:\>cd E:\work\wicket\workspace 以下のように、archetype:createゴールを実行します。下記のgroupId,version,ar
Wicketを学習するために書いたブログです。メモ帳がわりに学習した内容を記述していきます。 単なる情報の羅列だけにならないように、試した結果や感想を、自分の言葉で記録していきます。 WicketはWebアプリケーションを、Swingアプリのように作れるわけですが、そうは言っても作ったあとの動作はやっぱりWebアプリケーションなわけです。Ajaxコンポーネントを使うことで、Webっぽくない動作をすることもできますが、Javascriptを使ったクライアントサイドのロジックも必要です。一番単純な例では、削除ボタンを押したときに「削除してもよろしいですか?はい・いいえ」みたいな確認ダイアログです。これぐらいならばJavascriptで即時に確認したほうがいいです。 この章では、WicketコンポーネントでJavascriptを使う方法を書いています。「全部サーバーサイドでやれ」っていうような閉
wicket-jaに触発されて、試しにWicketを触ってみました。1.3は最近リリースされたのですが、そのためWebに情報がほとんどないのが難点ですね。 WicketではURLマッピングをするときにXMLに書くのではなくniceURLという仕組みを使います。 これを使っていないと、 http://localhos:8080/example/?wicket:bookmarkablePage=〜 のようなかっこ悪いURLになってしまいます。 クラスにマッピングする niceURLを利用するには、WebApplicationを継承したクラスのinitメソッドの中で、mountBookmarkablePageメソッドを実行します。 package example; import org.apache.wicket.protocol.http.WebApplication; public clas
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く