[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 メーリングリストの案内