[Seasar-user:4710] Re: [S2JSF]S2JSF1.1β3で自作カスタムコンポーネントを実行するとエラーになる件

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2006年 9月 27日 (水) 10:47:58 JST


大谷です。

返事が遅れて申し訳ありません。

下記の件で何点か確認させてください。
・カスタムコンポーネントのTLD記述でURLとprefix指定が記述されているでしょうか?
・上記の指定のURLとprefixがdicon上で設定されているでしょうか?

S2JSF exampleでは、カスタムのtaglibの例として、
/src/main/webapp/taglib/hello.html がカスタムタグの例になっています。
またはTomahawkのFileuploadとCalendarの例として、
/src/main/webapp/test/の下にCalendar、Fileuploadがあります。

こちらを確認してみていただいて、もし問題あれば
その差異の部分を見せていただけると助かります。

よろしくお願いします。

06/09/07 に Shun Saito<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 斎藤@サイエンティアです。
>
> 先日S2JSF1.0.16から1.1β3へ移行を行いましたが、その際に
> 1.0と1.1で動作が異なる部分がありましたのでご報告します。
>
> 表題の通り、1.0では動作していた自作のJSFカスタム
> コンポーネントがエラーになるようになりました。
> 自作コンポーネントを組み込むに当たって、FAQをもとに1.0で
> 行った設定を1.1でも同様に行ったのですが、1.0とは設定を変更
> しなければならない部分があるのでしょうか?
>
> ご存じの方がいらっしゃいましたらご教授下さい。
>
>
> エラーの出かたとしては、
> 1.カスタムタグを使用している画面を開く
> 2.タグハンドラクラスのsetterメソッドが呼び出される
> 3.タグハンドラクラスのgetComponentTypeメソッドが呼び出される
> 4.タグハンドラクラスのgetRendererTypeメソッドが呼び出される
> 5.タグハンドラクラスのsetPropertiesメソッドが呼び出される
> 6.コンポーネントクラスのgetFamilyメソッドが呼び出される
> 7.エラーになる
> という流れです。
>
> その時に出たエラーを添付します。
>
> エラーの内容を元にTeedaのソースを追いかけようとしたのですが、
> teeda-core-1.0-beta-6-SNAPSHOT.jarに対応するソースがどれか
> 分からなかったのでとりあえずSVNリポジトリブラウザから最新の
> HtmlRenderKitImpl.javaを取得して少し眺めてみました。
>
> ちょっと見てみただけなのですが、faces-config.xmlに記述した
> はずのレンダラクラスの定義が見つからないのでSeasarコンポーネントを
> 探しに行ってエラーになっているように読み取れました。
> (今回のケースではfaces-config.xmlへの定義のみ行い、
> Seasarコンポーネントとしては登録していません)
>
> というわけでfaces-config.xmlの定義を再確認しましたが、
> その部分に関しては1.0の定義と違いが見つかりませんでした。
>
> faces-config.xmlに記述したレンダラクラスの定義は以下のような
> ものです。
>
> <render-kit>
> <renderer>
> <component-family>Links</component-family>
> <renderer-type>LinksRenderer</renderer-type>
> <renderer-class>ps.util.tag.renderer.LinksRenderer
>         </renderer-class>
> </renderer>
> </render-kit>
>
>
> ちなみに使用している環境は、
> s2jsf-blank-1.1β3を元にした開発環境
> (S2-dao1.0.35に差替え)
> tomcat5.5.17 です。
>
> よろしくお願いします。
>
>
> ---------------------------------------------------
> 株式会社サイエンティア 東京支店HR開発グループ 斎藤 俊
> e-mail:[E-MAIL ADDRESS DELETED]
> web:http://www.scientia.co.jp
> ---------------------------------------------------
>
>
> 2006-09-06 11:56:07,468 [http-8080-Processor25] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/s2jsf-teeda].[facesServlet] - サーブレット facesServlet のServlet.service()が例外を投げました
> org.seasar.framework.container.ComponentNotFoundRuntimeException: [ESSR0046]コンポーネント(Links.LinksRenderer)が見つかりません
>         at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:94)
>         at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent(S2ContainerBehavior.java:87)
>         at org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromGetComponent(S2ContainerBehavior.java:43)
>         at org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:108)
>         at org.seasar.teeda.core.render.html.HtmlRenderKitImpl.getRendererFromContainer(HtmlRenderKitImpl.java:93)
>         at org.seasar.teeda.core.render.html.HtmlRenderKitImpl.getRenderer(HtmlRenderKitImpl.java:80)
>         at javax.faces.component.UIComponentBase.getRenderer(UIComponentBase.java:524)
>         at javax.faces.component.UIComponentBase.getRendersChildren(UIComponentBase.java:199)
>         at javax.faces.webapp.UIComponentTag.isSuppressed(UIComponentTag.java:322)
>         at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:176)
>         at org.seasar.jsf.processor.TextProcessor.process(TextProcessor.java:95)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:196)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.ElementProcessor.process(ElementProcessor.java:93)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:196)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.InsertProcessor.process(InsertProcessor.java:78)
>         at org.seasar.jsf.processor.InsertProcessor.process(InsertProcessor.java:70)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.ElementProcessor.process(ElementProcessor.java:93)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.ElementProcessor.process(ElementProcessor.java:93)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processTag(TagProcessorImpl.java:225)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:217)
>         at org.seasar.jsf.processor.ElementProcessor.process(ElementProcessor.java:93)
>         at org.seasar.jsf.processor.TagProcessorImpl.processChildren(TagProcessorImpl.java:269)
>         at org.seasar.jsf.processor.TagProcessorImpl.processBodyTag(TagProcessorImpl.java:243)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:213)
>         at org.seasar.jsf.processor.TagProcessorImpl.process(TagProcessorImpl.java:196)
>         at org.seasar.jsf.processor.ViewProcessor.process(ViewProcessor.java:172)
>         at org.seasar.jsf.processor.ViewProcessor.process(ViewProcessor.java:170)
>         at org.seasar.jsf.runtime.ViewRendererImpl.renderView(ViewRendererImpl.java:102)
>         at org.seasar.jsf.application.S2ViewHandler.renderView(S2ViewHandler.java:123)
>         at org.seasar.jsf.lifecycle.LifecycleImpl.render(LifecycleImpl.java:190)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:80)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user
>
>
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



Seasar-user メーリングリストの案内