JSF

Java EE6環境でJSF2を使う場合はCDIのBeanを管理Beanとして使う方がよい

先週の勉強会で紹介させていただいたjsf-scrumtoys-refactoredでは、JSFの管理Beanを使用する代わりにCDIのBeanを利用しています。この点説明が不十分だったので、ここで簡単に補足させていただきます。 JSFと管理Bean 勉強会の中で、JSFはコンポーネントベ…

Java EE6標準の範囲でフルスタックのWebアプリケーションが簡単に作成できることを確かめてみました。

Java EE6でさらに開発は容易になった? 以前JavaEE標準の進化から最近の業務アプリケーション開発手法の変遷について考える - 達人プログラマーを目指してにてJava EE標準の開発モデルの進化について説明しました。10年前の相当面倒だったJ2EEの開発モデルと…

Struts1に代わるWebフレームワークの選択

先日書いたいつまでStruts1を使い続けるの? - 達人プログラマーを目指してが想像以上の反響の大きさで驚いています。こんなにたくさんブクマいただいたのはブログ開設以来初めてです。政治的理由でフレームワークが最初から天下り的に与えられてしまい、結…

JSFがピンチといううわさ?!

JSF2.0の仕様を決めているJSR-314のエキスパートグループが、後続のグループを設立することなくいきなり解散してしまったということで、JSFがオラクルによってつぶされるのではないかとか、さまざまな憶測が広がっているようです。 http://in.relation.to/Bl…

SeamアプリでGETリクエストとPOSTリクエストとの適切な使い分けに関する注意点

画面遷移定義におけるJSFとSeamの思想の違いについてで述べた様に、Seamでは標準のJSF1.2と比較してGETリクエストのサポートが充実しています。つまり、JSFではGETで単純に画面を開くことしかできないのに対して、Seamの場合、タグを使うことで、アクション…

RichFacesの部品に対してタグのevent属性として適切な値について

Ajax4jsfのタグを利用すると、通常のJSFの入力フィールドを簡単にAjax化できます。たとえば以下のようにして <h:inputText value="#{user.emailAddress}" > <a:support event="onblur" ajaxSingle="true" reRender="errorMessage"/> </h:inputText> 入力フィールドのフォーカスが外れた時点でAjaxでPOSTリクエストを送信し、バリデーションをかけることが可能です。 おなじ要領でやの入力をAja…

Seam(JSF)アプリでセルを直接編集可能なテーブルを作成する方法?

MS Accessなどのアプリケーションでは、グリッドで直接値を編集するということが簡単に実現できるのですが、Seamアプリで同じような事がはたして簡単に実現できるのでしょうか?データ中心のレガシーなC/SアプリをJSFを使ってWeb化する際には、実際に要件と…

Seamのページパラメーターは奥が深い

会話スコープによるサーバー側での状態保持やバイジェクションなどの機能と比較して、地味目な機能のため、初心者にはあまりよく理解されていない傾向があるようですが、Seamのページパラメーター機能は実に奥が深くて、便利な機能だと思います。宣言の仕方…

CDIにきちんと対応したJSF2.0の参考書

Core JavaServer Faces (Core Series)作者: David Horstmann, Cay S. Geary出版社/メーカー: Prentice Hall発売日: 2010/05/27メディア: ペーパーバック クリック: 14回この商品を含むブログ (2件) を見るJSF2.0の勉強用に購入した本です。第三版と改訂を重…

画面遷移定義におけるJSFとSeamの思想の違いについて

以前にSeamのバイジェクションと一般的なDIの違いにて記述したバイジェクションと並んでSeam固有の機能として、pages.xmlを使ったページ指向の画面遷移定義があると思います。一見すると普通の(冗長で悪名高き)JSFのfaces-config.xmlをちょっと簡潔にした…

JBoss Toolsでfaceletsのxhtmlエディタの文字エンコード設定?

以下のブログでも記述されているとおり、 http://d.hatena.ne.jp/penguins/20100303/p3 JBossTools3.1(eclipse3.5.2)でもxhtmlファイルでエディタが自動認識するエンコーディングに問題があるようです。 テンプレートのルートとなるファイル(template.xht…

FaceletsでpageEncodingを指定する方法?

JSPの場合は、 <%@ page pageEncoding="Windows-31J" contentType="text/html;charset=UTF-8" %> のようなディレクティブを指定することで、レスポンスのエンコーディングによらず、ソースファイルのエンコーディングを指定できたのですが、faceletsで同様の…

Faceletsで正しくコメントアウトする方法

SeamやJSF2.0では画面をfaceletsを使って作成することが推奨されます。 JSPであれば、最終的なhtmlのソースに表示したい場合はhtml形式ののコメントを使い、そうでない場合はの形式を使えばよいのですが、faceletsの場合はどうすればよいのでしょうか? http:…