第6回Twitterタイムラインで見るWicketのオブジェクト指向プログラミング(後編) 矢野勉(やのつとむ) 2009-12-11
![Wicketで始めるオブジェクト指向ウェブ開発 記事一覧 | gihyo.jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/7241c583676d54fc052c4388a6edd25e4c7f280b/height=288;version=1;width=512/https%3A%2F%2Fgihyo.jp%2Fassets%2Fimages%2Fgihyojp-ogp.png)
第6回Twitterタイムラインで見るWicketのオブジェクト指向プログラミング(後編) 矢野勉(やのつとむ) 2009-12-11
3ヶ月間ほど社内案件でWicket(1.3.6)を使用していたので、今後案件で使用される方の参考になればと思い、Wicketを使用してみた際の感想を記載しておきます。ただし、その場しのぎで対応している部分も多々あるため参考程度としてください。 # 実案件で使用させてる方ってどのくらいいるんだろう? ■学習コスト 約1ヶ月ほどかかりました。UIとして表現したいパターンを洗い出してプロトタイプを兼ねながら作成していました。 ■ログイン wicket-auto-roleを使用しました。今回は複雑なユーザ管理は必要ないんで特に問題なかったかな?サインインパネルとしてorg.apache.wicket.authentication.panel.SignInPanelを使用しようと思いましたが、WICKET-2103のとおり問題があるため、流用しながらonSignInSucceededメソッドをカス
Installation Add following URL to Eclipse download manager (Help -> Software Updates -> Find and Install -> Search for new features to install) http://www.laughingpanda.org/svn/wicket-bench/trunk/wicket-bench-site Requirements for version 0.5.x: Eclipse: 3.3 Wicket 1.3 Java: >= 5 Post Installation Steps Add wicketbench.wicketnature nature and wicketbench.associatedMarkupAuditor builder for your W
ミッションは、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 Wikiをあんまり読んでなかったので、少し読んでみました。その中で個人的に参考になった書き方をメモ。 あと、そのほかのブログやtwitterでの参考になったものも。 Pageのマークアップのファイルを変更する方法 ログイン前とログイン後で変更したかったので地味に困っていました。 WebPageクラスのサブクラスでpublic String getVariation()をオーバーライドして、適当な文字列を返すようにします。 Pageの名前がIndexPage.javaの場合、普段はIndexPage.htmlが利用されますが、getVariationがたとえば"foo"を返した時はIndexPage_foo.htmlが利用されるようになります。 public class IndexPage extends WebPage { public IndexPage(PageParam
WickeXt integrates jQuery and jQuery UI into the Wicket framework, allowing DOM manipulation (effects, events), jQuery UI rich components usage and easy integration of a jQuery plugin into WicketUse jQuery with Wicket ! WickeXt integrates jQuery and jQuery UI into the Apache Wicket framework, allowing: DOM manipulation, including effects and events, jQuery UI rich components usage, including
WicketではWebApplicationを継承したクラスのinitメソッドの中で、PageクラスのURLを指定します。 リンクでこのURLを使いたいときには、BookmarkableLinkのようなLink系のクラスを使えば問題ないにですが、メールの時などURLをStringで取得したいときは結構あると思います。 その場合、WebPageクラスのurlForというメソッドに取得したいページのPageクラスとパラメータを渡してやれば、BookMarkableなURLを取得することができます。 public class IndexPage extends WebPage { public IndexPage() { String url = urlFor(IndexPage.class, new PageParameters("id=0")).toString(); } } このとき得られ
Java, Wicket このブログをいままで読んでいる方なら、私がApache Wicketの大ファンだということはご存知でしょう。ついに1.3としてApacheプロジェクト入りしてから最初のリリースを果たしたWicketフレームワークは、日本ではまだそれほど普及していませんが、今年は米国で「Wicket in Action」が出版される予定があるなど、かなり注目されているフレームワークです。 私はそんな控えめな表現では表せない魅力をWicketに感じています。Wicketは、Javaのいままでのフレームワーク開発の積み重ねがもたらした「ウェブ・アプリケーションの革命」です。Echo2のようにHTMLを廃してJavaだけでプログラムを組むのでなく、JSFのように新しいテンプレートを作るのでもない。HTMLとJavaを結合して、HTMLをJavaで、Javaらしいコードで制御するという方向
Wicketを学習するために書いたブログです。メモ帳がわりに学習した内容を記述していきます。 単なる情報の羅列だけにならないように、試した結果や感想を、自分の言葉で記録していきます。 Maven2はライブラリの依存関係を解決してくれたり、その状態でEclipseのプロジェクトを作成してくれたりとても便利ですね。WicketのQuickStartもコマンドひとつでプロジェクトを構築し、 Jettyを使って動作できるなんてすばらしい。 でもMavenをまったく知らない人が、Wicketを体験してみようと「QuickStartをやってみようか。」と思ったとき、まずmavenでつまづいてしまわないかと思いました。(mavenって何?mavenのインストール。 よく分からないコマンドの実行。長いダウンロード。大量のログ。) mavenのレポジトリがまったく空っぽの状態だと、ダウンロードに時間はかかる
はじめにこのプロジェクトは,WicketとSeasar2を組み合わせてアプリケーションを構築するために便利な機能を提供します。 Wicket Seasar Interation(S2Wicket)を利用することで,Wicketで扱われるWebPageクラスや各種コンポーネント クラスのオブジェクトに対して,Seasar2管理下にあるコンポーネントオブジェクトを簡単にインジェクションすることができます。例えばフィールドに,@SeasarComponentアノテーションを書くだけでいいのです。さらに,フィールドフィルタを使用すれば, @SeasarComponentアノテーションを書かずとも,規約に従ってインジェクションが行われるようになります。特別な設定ファイルなどは必要ありません。自分でDIコンテナからルックアップする必要もありません。 S2Wicketを使うことで,インジェクション対象と
ついカッとなってやった、ActiveObjectsのいいところを見せられれば何でもよかった。 2時間とは ここから そろそろActiveObjectsで本気だす!!!ここまで canvas3DGraph.js+prototype.js+Wicket+ActiveObjects+MySQLで、3Dグラフ表示&更新プログラムを作った。 画面&データ 左側のブラウザでグラフデータの追加をして、右側のデータで自動的に3次元グラフの描画をしてる。 ちょっとずつデータを追加していく様子の、画面とデータを張り付けてく。 初期データ mysql> select * from threeDData; +----+------+------+------+ | id | z | x | y | +----+------+------+------+ | 1 | 30 | 50 | 40 | | 2 | 80
前回は開発環境構築まで終わったのでいよいよ作っていこうと思う。 でも自動生成できるところはしていかないとめんどくさくてしょうがない。 まずビジネスロジックはJUDEでクラス図を書いたのでjavaスケルトンコードを出力。これでインターフェースと空の実装クラスが完成。パッケージもきちんと分けておけばそのとおりにフォルダが出力されるので、ワークスペースにどーんとブン投げればOK。 次にDAOまわり。今回はIBatisを使うのでAbatorっていうツールが使える。これは前にも使ったことがあって、すごく便利。O/Rマッパーを使用できない案件などで自作DAOを作るときとかも応用できそう。まぁやってることはそんなに難しくなくて、DBにアクセスしてテーブル定義からDAOとモデル、それからIBatis用のSqlMapファイルを生成してくれる。Springと連携する用の設定にすればSqlMapClientDa
2009/06/19修正: Providerの使用方法を修正しました。id:nak2kさんご指摘ありがとうございます。 ちまたではWicket+Guice+Activeobjectsとかが流行ってますが、Activeobjectsがまだまだ安心して使えなさそうなのと、Hibernateは重量級だし...なんだ感だでiBATISで良いよね。完全なxmlレスを目指したいところはあるけど、DB周りはSQLぐらい外出しでも気にしない!むしろ細かいチューニング出来るから良いんじゃないかな。特にエンタープライズ向けには。 と自分を説得し、Wicket+Guice+iBATISをやってみました。 このへんを参考にしました。 http://codezine.jp/article/detail/1289?p=1 http://cwiki.apache.org/WICKET/wicket-guice-and-
(Wicket.1.4-rc2 + Jetty + Windows環境) xhtmlのXML宣言でUTF-8って書いても、Application#initで requestCycleSettings.setResponseRequestEncoding("UTF-8") を呼んでいても、フォームのPOST後のレスポンスでcharsetがShift_JISになる。 metaタグでcharset指定すると解消。 どーゆう理屈なんだろ?とりあえず解消したからよし。 解消してないや。Redirect After Post のRedirect直後のみ文字化けか。。。 追記:解決 DoCoMo 端末で Style 属性が使えるようにする。Wicket編 - 宇宙行きたい DoCoMo 端末で Style 属性が使えるようにする。Wicket編 IE爆発しろの巻 - 宇宙行きたい 上記の記事を参考にCo
教えてもらいました!! http://wassr.jp/user/halt/statuses/fxq6wfs1Kj http://twitter.com/kosugi/status/1016128792 http://twitter.com/tokibito/status/1016118759 このページを参考にしますた。 http://ke-tai.org/blog/2008/04/03/docomocss/ Wicket の Content-Type を変更する。 Wicket は デフォルトでは 「Content-Type: text/html; charset=UTF-8」 なので Page クラスの setHeaders を Override で解決しますた。 import org.apache.wicket.markup.html.WebPage; import org.apa
http://d.hatena.ne.jp/yuripop/20081113/p1 こうですか??わかりません>< import org.apache.wicket.Component; import org.apache.wicket.application.IComponentInstantiationListener; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.protocol.http.WebApplication; public class SampleWebAplication extends WebApplication { @Override public Class<? extends WebPage> getHomePage() { return IndexPage.cl
前回の続き。 Wicket-jaのメーリングリストで最近話題になった内容。 WicketはデフォルトではPageクラスに対応するHTMLファイルはPageクラスと同じ階層にある必要がある。というかPageクラスと同じ階層を検索するようになっている。 特に問題はないけど、一般的にはWEB-INFの下に置いてあるのが普通だし、今回はHTML部分は自称デザイナーOが作ることになっているので、javaのパッケージ内をいじられるのはあまり好ましくない。というか彼も.javaやらのファイルがあるところで作業するのは嫌だろうと思う。 なのでHTMLファイルはWEB-INF以下に配置しようと思う。 まずはViewFileLocatorを作成する。 ViewFileLocator.java public class ViewFileLocator extends ResourceStreamLocator{
前回の続き。 画面が少しずつできてきたので携帯からアクセスして見た。すると何故かドロップダウンのラベルが表示されてない。数字のところはでてるのに日本語のところがでてない。PCからだと表示されているが、携帯からだと表示されない。。。「Docomoの嫌がらせか?」と思い、早速調べてみると http://www.eisbahn.jp/yoichiro/2007/01/wicket_4.html こんなようなことになってるらしい。。。 出力されたソースを見てみるとたしかに日本語の部分が数値参照になっている。携帯では数値参照の部分を解釈してくれないらしく、何も表示されてなかったんだね。。。 どうやらWicketを修正してビルドしなおすと解決するらしい。めんどいなぁと思いつつソースを追っているとこんな部分を発見。 AbstractChoise.java(416行目あたり) if (getEscapeM
前回の続き。。 これまで約1ヶ月かけて作ってきたやつをとうとうリリースしました。 っていっても地元友達数人向けだけどね。。評価は上々。よかったです。 今回本格的に携帯向けサイトを作ってて発生した問題を色々殴り書き 携帯絵文字を使う とりあえず1番はじめに出た要望がこれ。やらなきゃと思ってたけどめんどくさそうで後回しにしてたこと。 とりあえず以下のことをすれば絵文字は使えそう リクエストパラメータ(GET、POST同様)に絵文字が含まれていたらサーバーで管理する文字列に変換する レスポンスデータにサーバーで管理する文字列が含まれていたらキャリアごとに絵文字に変換する(PCの場合は画像で表示) これを実現するためにサーブレットフィルタをかますことにした。wicketでパラメータを受け取った後だと?に変換されてるし、レスポンスはwicketがページを作った後やらなきゃいけないので、自作フィルタは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く