[ オープンソース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のタグを使うことができる状態になったわけです。