[Seasar-user:6703] [S2JSF1.1] S2JSFでツリーコンポーネントを使用するには?

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 3月 15日 (木) 15:41:04 JST


お世話になっております。

S2JSF1.1 から Teedaの treeコンポーネントを使用しようと思い
TeedaのHTMLサンプルをS2JSF化してみたところ一応表示はされました。

[環境]
・Tomcat 5.5.20
・Seasar 2.4.11
・S2JSF 1.1.1
・Teeda 1.0.6

ただし、ブラウザでリロードすると表示がおかしくなってしまいます。
(ツリーがもう一つ表示されてしまう。)

また、app.dicon で teedaExtension.dicon を includeしてしまうと
他の画面(S2JSF1.1 で作成)で ブラウザリロード時に

java.lang.ClassCastException: org.seasar.teeda.extension.component.TViewRoot
    at org.seasar.jsf.lifecycle.LifecycleImpl.hasEvent(LifecycleImpl.java:303)
    at org.seasar.jsf.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:98)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:92)
    ....

が発生してしまいます。
なんでかな?と思い調べてみたところ、

org.seasar.jsf.lifecycle.LifecycleImplのhasEvent(FacesContext context)
メソッドにおいて context.getViewRoot(); の中身が

・teedaExtension.dicon includeした時
  org.seasar.teeda.extension.component.TViewRoot

・teedaExtension.dicon includeしない時
  org.seasar.jsf.component.S2UIViewRoot

となっていたため、 S2JSF1.1 では teedaExtension を使用できないのだと
理解しました...

ただ、どうしても画面にツリーを表示したいので困っています。

S2JSFで Treeを表示したい場合、みなさんどのように作成されていますか?



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