[Seasar-user:2436] Re: [S2JSF] Myfaces1.0.9 のJSCookMenu利用時の挙動について

Naotaka Yoshikawa nao
2005年 7月 27日 (水) 11:32:25 JST


吉川です。

Shinpei Ohtani  (2005/07/26 10:52):
> 大谷(shot)です。
> 
> 解決策とかでなくて、申し訳ないのですが
> このMyfaces1.0.9のJSCookMenuが上手く動かないのは
> MyFacesのMLでも結構問題になっているようです。
> (さらっと見たことがある程度ですが・・・^^;JIRAにもあがってたかな?)
> 
> 
> 一度、見てみてはいかがでしょうか?
情報有難うございます。
早速JIRAを見てみた所、下記が該当するような感じです。
http://issues.apache.org/jira/browse/MYFACES-196

NightlyでFixしたとのことですので、下記のビルドで試した所、
奇数番目のメニューが表示されない現象は、改善されていました。
http://cvs.apache.org/builds/myfaces/nightly/myfaces-20050725.zip

よって、この件は、MyFacesの次回リリースを待つことにします。
それまでは、「m:rendered="false"」でダミーメニューを作ることにします。

ひがさんへ
今回の件は、MyFaces側の修正で回避できそうですのでS2JSF側の調査は、
よいと思います。ご協力ありがとうございました。

ただ、上記のNightlyでも下記の件
([Seasar-user:2279])は、発生しています。
こちらの方は、どこかで対応して頂けたら有難いです。

>>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;
>> }
>>---------------------------------------------------------------
>>


以上 よろしくお願いします。
-- 
+++++++++++++++++++++++++++++++++++++++
Name   : Naotaka Yoshikawa




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