- 追加された行はこの色です。
- 削除された行はこの色です。
- JSF へ行く。
#freeze
* [[JSF]]
EoD(Ease of Development:開発のしやすさ)の先鋒として出てきましたこのJSF。VBを超えたとか、開発者を一気に3倍増とかいってますが、ほんとでしょうか。10年目にして、ようやく開発が難しかったことを認め、それを打破しようした仕様なので、とりあえずどんなもんか取り組んでいきましょう。しかしやっと気づくとは。遅いんだよー 今はまだSUN JAVA STUDIO CREATORをインストールしていないので、使わずに作成してみたいと思います。たぶん使わないとEoDなんて無理なんでしょうけど。STUDIO CREATORをインストールしたらまたそちらについても触れてみたいと思います。~
10/15にSTUDIO CREATORをインストール。しかしどうもこなれてないぞ。これ。あれから1年いつのまにかJava Studio Creatorは2になっており、freeになっておりました....http://sdc.sun.co.jp/javatools/jscreator/downloads/index.html~
そこを見ているとソースコード管理ができるみたいなことが書いてありましたが、やっぱり前のバージョンはできなかったのか..... 逆にすごいな。
#contents
**環境作成
- tomcatをインストールします。5.0.28でインストールは[[Tomcat]]を参照してください。
- http://java.sun.com/j2ee/javaserverfaces/のdownloadからJavaServer Faces v1.1.01 Reference Implementationをダウンロードしてください。
- http://jakarta.apache.org/site/binindex.cgiから、Taglibsをダウンロードします。jakarta-taglibs-standard-1.1.1.zipのファイルです。http://www.meisei-u.ac.jp/mirror/apache/dist/jakarta/taglibs/standard/binaries/
**フェーズ
JSFにはクライアントからリクエストを受付てレスポンスを返すときに6つのフェーズが実行されます。これらをよく知っておかないとどこで何が動いているかわからなくなるので、理解しておきましょう。
- リストア・ビュー・フェーズ
- アプライ・リクエスト・バリュー・フェーズ~
コンポーネントにリクエストの値がセットされます。UIViewRoot#processsDecodes()から各コンポーネントのdecode()が呼び出されます。
immediate属性がtrueであれば、以下のフェーズを飛ばして、レンダー・レスポンスが実行されます。
- プロセス・バリデーション・フェーズ~
コンポーネントに登録されているバリデータが実行されます。UIViewRoot#processValidators()から各コンポーネントのprocessValidators()が呼び出されます。エラーがある場合は、以下のフェーズを飛ばして、レンダー・レスポンスが実行されます。
- アップデート・モデル・バリュー・フェーズ
コンポーネントの値を管理ビーンに反映させます。UIViewRoot#processUpdates()から各コンポーネントのprocessUpdates()が呼び出されます。
- インボーク・アプリケーション・フェーズ
- レンダー・レスポンス・フェーズ
**MyFaces
JSFの実装として、MyFacesがあります。http://myfaces.apache.orgからダウンロードします。
***x:を指定するとTLDがないとエラー
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>
***Tomcat5.5で動かない。
ちょっとはまってしまいました。画面は真っ白、エラーははかれず、いったい何事だとおもっていましたら、myfacesのjarをすべてlibにほりこんでいたのがいけなかった。jsp-2.0.jarは削除しておきましょう。
***リンク
http://www.myfaces.org/
**リンク
- [[チュートリアル>http://sdc.sun.co.jp/javatools/jscreator/learning/tutorials/index.html]]