![]() [ オープンソースJSF実装MyFacesの使用方法 ] ■2005/9/7 Hepon ■環境:JSF1.1 MyFaces1.0.9 WindowsXP ExadelStudioPro3.0.3 ■Exadelのプロジェクト作成を使用する場合は、 ファイル→新規→プロジェクト→Exadel Studio→JSF→JSF Project→ 次へ→JSF EnvironmentでMyFaces1.0.9を選択 でプロジェクトを作成してやればMyFacesの使用準備は完了です。 Templateについては、 何もいらなければMyFacesBlank 簡単なサンプルが必要ならMyFacesKickStart 本格的なサンプルが必要ならMyFacesMainExample を選びます。 MyFacesTilesExampleについてはよく知りませんが 選択するとなにやら小さめのサンプルがついてきます。 ■さて、Exadelのプロジェクト作成を使用しない場合です。 (つまりJSF EnvironmentでMyFacesで1.0.9で スタートしなかった場合に追加でMyFacesを使用可能にする方法) まず、MyFacesを入手します。 Apache MyFaces http://myfaces.apache.org/ のDownLoad/Binary Distributionsから 今回は、Windows用の、myfaces-1.0.9.zipをダウンロードします。 myfaces-1.0.9-app.zip をダウンロードすると 何やらサンプルがついてくるようです。 よくわからないのでとりあえず、myfaces-simple-examples.war をJSF Project From *.warでインポートしてやることに。 (warとはWeb Application Resourcesの略) すると、example-config.xmlのNavigation RUlesのgo_htmlEditorに 何やらエラーが出ている(Exadelでためしています)ので、 こいつを削除してやったら、無事に動作しました。 中身はやはりサンプルでした。 たくさん入っており、すぐにソースも見れるように なっているので、わりといい感じです。 これにはこれ以上触れずに置いておきます。 さて、myfaces-1.0.9.zipのダウンロードが終わりました。 Apache MyFacesのDocumentation/Getting Startedを見ると、 myfaces-1.0.9/libに入っている以下のjarファイルを 自分のプロジェクトのWEB-INF/libディレクトリへコピーせよとあります。 (jarとはJava ARchiveの略) commons-beanutils-1.6.1.jar commons-codec-1.2.jar commons-collections-3.0.jar commons-digester-1.5.jar commons-el.jar commons-logging.jar commons-validator.jar jakarta-oro.jar myfaces.jar myfaces-jsf-api.jar myfaces-impl.jar jstl.jar commons-fileupload-1.0.jar コピーが終わったら、 WEB-INF/libにある jsf-api.jar jsf-impl.jar を除去して下さい。(とGetting Startedに書いてあります) 次はweb.xmlの編集です。 myfaces-1.0.9/confにあるweb.xmlを自分のweb.xmlとマージします。 ひとまずここで自分のweb.xmlの中に無いものは全て付け足しました。 また、重複しているlistenerについては元からある方を削除しました。 また、SourceCodeServletについては、付け足した所 動作がおかしかったので削除しました。 次に、JSPにtaglibを記述します。 ↓コレ↓(一字一句間違えないように注意!!誤字があるだけで動かなくなります) <%@ taglib uri="http://myfaces.sourceforge.net/tld/myfaces_ext_0_9.tld" prefix="x" %> この情報は以下から手に入れました。 MyFaces : Home Page http://www.marinschek.com/myfaces/tiki/tiki-index.php そしてJSP内に何らかのMyFacesのタグを記述します。試しにここで、 <x:inputCalendar> </x:inputCalendar> と記述して動作させてみた所、動作を確認することができました。 これで、とりあえずMyFacesのタグを使うことができる状態になったわけです。 |