JavaScript流オブジェクト指向プログラミング - ITpro

JavaやC#などのオブジェクト指向言語とは異なるアプローチでオブジェクト指向を実現できるJavaScript。なかなか丁寧な解説が見つからないのだが, 「 JavaScript流オブジェクト指向プログラミング」 - ITpro は非常にわかりやすかった。プロトタイプ型のオブジェクト指向言語は,スクリプト言語という特性(=サクサク感&柔軟性)にぴったりだ。 ただし, そのオブジェクトの内部のみからアクセス可能なプロパティ(C++やJavaでいうところのプライベート変数)はJavaS...

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

今回は,double-selectコンポーネントをレンダリングするDoubleSelectRendererクラスの解説を行おうと思う。その中で,Shale RemotingのAPIを使用してみる。 前回紹介したDoubleSelectTagクラスのsetProperties()メソッドによって,JSPに記述されたカスタムタグの属性値がUIコンポーネントにセットされる。DoubleSelectTagクラスが継承するUIComponentTagクラスは,setProperties()メソッド...

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

JSF+Ajax with Shale Remotingと題したエントリだが,やっとJavaコードの紹介を始めるときが来た。今回は,double-selectコンポーネントを構成する2つのクラスの一つ目,カスタムタグハンドラクラスについて解説しようと思う。 JSP実装のJSFコンポーネントを作成する際,それはカスタムタグの形態となるために,タグハンドラクラスを作成する必要がある。JSFでは,以下のどちらかのクラスを継承して作成する。 UIComponentTag - 本体...

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

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つ並べる。左のコンボボックスが大分類,そして右のコンボボックスが小分類,...