Seasar2と同様にJDK1.4以上が必要です。s2-jsf-x.x.x.zipを解凍し、できたs2jsfディレクトリをEclipseで
「ファイル→インポート→既存のプロジェクトをワークスペースへ」してインポートしてください。
サンプルはs2-jsf-example-x.x.x.jarとして別途用意されているので、ダウンロードして解凍してください。先程と同様
に、Eclipseで、「ファイル→インポート→既存のプロジェクトをワークスペースへ」でインポートします。サンプルは、
Tomcat5、
Tomcat Pluginを使うことを前提にしています。もし、
まだインストールしていない場合は、インストールしておいてください。
Tomcatを起動し、ブラウザでhttp://localhost:8080/s2jsf-exampleにアクセスすると、S2JSFのサンプルを見ることが
出来ます。
S2JSFではJSF標準のタグライブラリ(プレフィクス"h"と"f")と、S2JSF用のタグライブラリ
(プレフィクス"s")を使用できるようになっています。
もちろんこれら以外のカスタムタグライブラリも使用可能です。
そのためには次の設定が必要です。
- *.tldファイルを配置する (必要な場合のみ)
- "prefix"と"uri"をjsf.diconへ指定する
tldファイルを配置する
tldファイルの配置には2通りの方法があります。
jarへ含める
tldをjarファイルへ含める場合は、META-INFディレクトリ配下へ置くようにしてください。
S2JSFはWEB-INF/lib内に置かれているjarファイルのMETA-INFディレクトリ配下にある
tldファイルを自動的に探します。
jsf.diconが次のようになっていることを確認してください。
<component class="org.seasar.jsf.runtime.ServletContextTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
WEB-INF配下へ配置する
※S2JSF 1.0.14からの新機能です。1.0.14より前のバージョンでは、
jarの中へ配置する前述の方法のみ利用可能です。
tldをjarファイルへ含めない場合は、WEB-INF配下へtldを置くようにしてください。
S2JSFではWEB-INFディレクトリ配下に置かれているtldファイルを自動的に探すクラスを
用意してあります。
jsf.diconを次のように設定してください。
<!--
<component class="org.seasar.jsf.runtime.ServletContextTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
-->
<component class="org.seasar.jsf.runtime.CompositeTaglibManager">
<!--
<initMethod name="addTaglibManager">
<arg>
<component class="org.seasar.jsf.runtime.WebappConfigTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
</arg>
</initMethod>
-->
<initMethod name="addTaglibManager">
<arg>
<component class="org.seasar.jsf.runtime.FileSystemTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
</arg>
</initMethod>
<initMethod name="addTaglibManager">
<arg>
<component class="org.seasar.jsf.runtime.ServletContextTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
</arg>
</initMethod>
</component>
"prefix"と"uri"をjsf.diconへ指定する
次のようなtldファイルをS2JSFから使用するには、
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>foo</short-name>
<uri>http://example.com/</uri>
[...]
</taglib>
jsf.diconへ次のように追加設定します。
<component class="org.seasar.jsf.runtime.JsfConfigImpl">
<initMethod name="addTaglibUri">
<arg>"h"</arg>
<arg>"http://java.sun.com/jsf/html"</arg>
</initMethod>
<initMethod name="addTaglibUri">
<arg>"f"</arg>
<arg>"http://java.sun.com/jsf/core"</arg>
</initMethod>
<initMethod name="addTaglibUri">
<arg>"s"</arg>
<arg>"http://www.seasar.org/jsf"</arg>
</initMethod>
<initMethod name="addTaglibUri">
<arg>"foo"</arg>
<arg>"http://example.com/"</arg>
</initMethod>
</component>
addTaglibUriの第1引数が"prefix"、第2引数が"uri"です。
uriはtldのuriと合わせる必要があります。
この設定を行うことで、J2JSFのhtmlからプレフィクス"foo"でこのtaglibを使用できるように
なります。
|