[Seasar-user:2432] Re: [S2JSF] Myfaces1.0.9 のJSCookMenu利用時の挙動について
Shinpei Ohtani
shinpei.ohtani
2005年 7月 26日 (火) 10:52:04 JST
大谷(shot)です。
解決策とかでなくて、申し訳ないのですが
このMyfaces1.0.9のJSCookMenuが上手く動かないのは
MyFacesのMLでも結構問題になっているようです。
(さらっと見たことがある程度ですが・・・^^;JIRAにもあがってたかな?)
一度、見てみてはいかがでしょうか?
05/07/26 に Naotaka Yoshikawa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 吉川です。
>
> レスありがとうございます。
> 以下に、その後少し調べた所を追加しておきます。
>
> Yasuo Higa (2005/07/25 21:09):
> > <[E-MAIL ADDRESS DELETED]> の、
> > "[Seasar-user:2423] [S2JSF] Myfaces1.0.9のJSCookMenu利用時の挙動について" において、
> > "Naotaka Yoshikawa <[E-MAIL ADDRESS DELETED]>"さんは書きました:
> >
> > ひがです。
> >
> >
> >>はじめまして、吉川と申します。
> >>
> >>下記のような現象が出ているのですが、
> >>S2JSF側で何らかの対応をすることは、可能でしょうか?
> >>
> >>現象:
> >>MyfacesのJSCookMenuを利用すると、奇数番目の
> >>メニュー項目のサブメニューが表示されない。
> >>
> >>環境:
> >>OS:XP SP2
> >>JDK:1.4.2-006
> >>Tomcat:5.0.28
> >>S2JSF:1.0.3(1.0.4でも同じ)
> >>Myfaces:1.0.9
> >>
> >
> > 以前もtaneさんがJSCookMenuがうまくいかないと報告されてました。
> > なんか特殊なことやってるのかなぁ。
> > ちょっとJSCookMenuのソース見てみます。
>
> taneさんの件というと、[Seasar-user:2279]のことですよね?
> 同様のエラーは、MyFaces1.0.9でも出ています。
> ERROR org.apache.myfaces.custom.navmenu.NavigationMenuUtils - Invalid
> child with id _id20of component with id : hoge : must be
> UINavigationMenuItem or UINavigationMenuItems, is of type :
> org.seasar.jsf.component.UIText
>
> これも、少し調べたのですが、どうも、spanタグにMyfacesの
> 拡張タグ(x:UINavigationMenuItem)を指定してネストさせた場合に、
> S2JSFは、UITextを返すようですが、MyFacesは、UINavigationMenuItem or
> UINavigationMenuItemsを期待しているために
> このようなエラーを吐くようです。
> 以下が該当ソースの抜粋です。
> ---------------------------------------------------------------
> org.apache.myfaces.custom.navmenu.NavigationMenuUtils
> public static List getNavigationMenuItemList(UIComponent uiComponent)
> {
> List list = new ArrayList(uiComponent.getChildCount());
> for(Iterator children = uiComponent.getChildren().iterator();
> children.hasNext();)
> {
> UIComponent child = (UIComponent)children.next();
> if(child instanceof UINavigationMenuItem)
> {
> ........
> } else
> if(child instanceof UISelectItems)
> {
> ........
> } else
> {
> FacesContext facesContext = FacesContext.getCurrentInstance();
> log.error("Invalid child with id " + child.getClientId(facesContext) +
> "of component with id : " + uiComponent.getClientId(facesContext) +
> " : must be UINavigationMenuItem or UINavigationMenuItems, is of
> type : " +
> (child != null ? child.getClass().getName() : "null"));
> }
> }
>
> return list;
> }
> ---------------------------------------------------------------
>
> Myfaces1.0.8では、このエラーを出しつつも、動作はするようです。
> またこのエラーは、ネストさせた全てのタグ(=サブメニューのあるもの全て)に
> 対して起きているので、サブメニューが表示されない件とは、
> 別問題かもしれません。
>
> 個人的には、MyFacesのfaces-config.xmlが1.0.9になって
> かなり変更されているのが影響しているのでは?
> という気がしてます。
>
> 以上 よろしくお願いします。
> --
> +++++++++++++++++++++++++++++++++++++++
> Name : Naotaka Yoshikawa
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
>
--
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================
Seasar-user メーリングリストの案内