-
Type: Bug
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 1.1.0-beta-3
-
None
https://www.seasar.org/issues/secure/IssueNavigator.jspa?reset=true&pid=10027&status=1
先日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 です。