[Seasar-user:3151] Re: [S2JSF] カスタムコンポーネント用tldファイル
Hirotaka HONMA
manhole
2006年 2月 6日 (月) 17:05:18 JST
本間@アークシステムです。
On 2/3/06, Hirotaka HONMA <[E-MAIL ADDRESS DELETED]> wrote:
> 本間です。
>
> Servlet仕様にあわせて、web.xmlの
> web-app/taglib/taglib-location に設定されているtldファイルを
> 読み込むようにしようと思います。
>
> # もしくはAutoRegisterライクに、指定したパス配下
> # ("/WEB-INF/tlds"とか)のtldを自動的に読み込むとか。
この修正を含んだSNAPSHOTをビルドしました。
http://hotchpotch.sourceforge.jp/temp/s2-jsf-1.0.14-SNAPSHOT.jar
http://hotchpotch.sourceforge.jp/temp/s2-jsf-1.0.14-SNAPSHOT-sources.jar
(前回同様、ビルドしなおしています)
■利用方法
1. WEB-INF/tlds/some.tldへtldファイルを配置
2. web.xmlへtaglib要素を追加
# web.xml
<taglib>
<taglib-uri>/some_uri</taglib-uri>
<taglib-location>/WEB-INF/tlds/some.tld</taglib-location>
</taglib>
taglib-locationは、実際に配置する箇所にします。
3. jsf.diconへエントリを追加
org.seasar.jsf.runtime.JsfConfigImplへinitMethodを追加。
# jsf.dicon
<initMethod name="addTaglibUri">
<arg>"some"</arg>
<arg>"http://somedomain/"</arg>
</initMethod>
第2引数はsome.tldのtaglib/uriとあわせます。
4. jsf.diconを修正
上部にある記述を変更します。
# 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.ServletContextTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
</arg>
</initMethod>
<initMethod name="addTaglibManager">
<arg>
<component class="org.seasar.jsf.runtime.WebappConfigTaglibManagerImpl">
<initMethod name="init"/>
<destroyMethod name="destroy"/>
</component>
</arg>
</initMethod>
</component>
Seasar-user メーリングリストの案内