デフォルトエンコーディングは廃止すべき!?

Javaでの開発が当たり前になり,Javaプログラマの数も豊富になってきた。しかし,それもここ2,3年のこと。つまり,大多数のJavaプログラマのJava経験年数も2,3年,長くても5,6年といったところだろう。このことは,多くのJavaプログラマがWebアプリケーションしか書いたことがないことも表している。 JDK1.0.2やJDK1.1を身をもって体験している「ベテラン(僕を含む)」が常識と思うことも,現在の多くのJavaプログラマは持ち合わせていない。「全く今の若者は・・・」とつい言...

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (6)

「 JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)」で予告した内容を今回紹介しようと思ったが,あまり概論ばかりでも退屈なので,実際のコードを今回から解説していこうと思う。その中で処理の流れを見ていけばいいかな,と。 JSFコンポーネントのJSP実装はカスタムタグの形態をとるため,まずはタグライブラリディスクリプタ,つまりtaglib.tldファイルから取り上げよう。taglib.tldファイルはJSFだからといって特別なことは何もない。JSPのカス...

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (5)

「 JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)」で予告した内容を今回は置いておいて,大事なことを書くのを忘れていたので,今回はそれを先に取り上げる。 double-selectコンポーネントのJAR内の構成など,突然実装寄りな話に前回は終始してしまったが,肝心のdouble-selectコンポーネントを利用する際のカスタムタグの記述がどういうものになるかを示していなかったことに気がついた。まずは下のリストを見て欲しい。 double-sele...

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (4)

「 JSF+AjaxでUIコンポーネント開発 with Shale Remoting (3)」で予告した通り,今回はdouble-selectコンポーネントの構成について紹介する。それを通じて,Shale Remotingが便利だと思う根本理由を説明したいと思う。 JSFは,コンポーネント指向であることは何度も本ブログで述べていることだが,ではJSFコンポーネントの実体がどういったものなのかは,あまり一般的には説明されていない。 再配布可能なJSFコンポーネントは,クラスファイルと定義ファ...

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (3)

「 JSF+AjaxでUIコンポーネント開発 with Shale Remoting (2)」で予告した通り,カスタムコンポーネントを開発するための開発環境の構築について紹介する。NetBeansを使えば簡単にJSFを使った開発をすることができるが,Maven2との連携がとれないことや,やっぱりEclipseは多数派だろうと思うので,ここではEclipseを使うことにした。 今回は「JSFカスタムコンポーネントを開発するプロジェクト」と「作ったカスタムコンポーネントを利用するプロジェクト」...

OL化

男がひざ掛け使ったっていいじゃないか!? だって寒いんだもん。

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (2)

「 JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)」で予告した通り,さっそく作成するコンポーネントはどういったものかを紹介しよう。コンポーネントの内部動作を把握できれば目的達成なので,最低限かつ再利用可能な機能とする。 題して「DoubleSelectコンポーネント」。 DoubleSelectコンポーネントは,2つのコンボボックスから構成される。2つのコンポーネントは,横に2つ並べる。左のコンボボックスが大分類,そして右のコンボボックスが小分類,...

JSF+AjaxでUIコンポーネント開発 with Shale Remoting (1)

最近のWebアプリケーションの開発(特にスクラッチから作れる案件)では,AjaxによるWeb2.0的なユーザインタフェースを採用することがほとんどではないだろうか。HTMLの標準フォーム部品に加えて,JavaScriptと非同期通信を使ったWebブラウザ上でのインタラクティブな動作が好まれるようになった。逆に言うと,実装者にとっては,例えばJSPを使ってHTMLを組み立てるだけではなく,JavaScriptまで面倒をみないといけなくなる。必要とする知識やコーディングの量が増えてしまうわけで...

錆びないもの

久々に突然,THE YELLOW MONKEYの「JAM」が聴きたくなって,プロモ流しながら自分の部屋で思わず熱唱。 いい曲だ。初めて聴いたときの印象と変わらずにいつも聴くことができる,数少ない曲の一つである。

Children = Kids?

コンポジットなオブジェクトの構造を辿るときに必ずと言っていいほど見られるメソッド,getChildren()。これを変数で受けるとき,あなたなら変数名をどう命名するだろうか? Hoge hoge = …; Collection children = hoge.getChildren(); まぁこれが多数派だろう。僕も今までこうしてた。しかし,JavaServer FacesのSun RIは違った。 Hoge hoge = …; Collection kids = ho...