2011-02-24 4 views
0

Я использую ice: menuPopup для создания меню на узлах дерева. В JSPX странице Я что-то вроде этогопрослушиватель событий menupopup не вызван?

<ice:tree id="tree" value="#{tree.model}" var="item" imageDir="./xmlhttp/css/xp 
                     /css-images/"> 
     <ice:treeNode> 
      <f:facet name="icon"> 
       <ice:panelGroup style="display: inline"> 
         <h:graphicImage value="#{item.userObject.icon}"/> 
       </ice:panelGroup> 
      </f:facet> 
      <f:facet name="content"> 
       <ice:panelGroup style="display: inline" menuPopup="menuPopupEffects"> 
         <ice:commandLink actionListener="#{tree.Url}" value="# 
                   {item.userObject.text}"/> 
       </ice:panelGroup> 
      </f:facet> 
       <ice:menuPopup id="menuPopupEffects"> 
         <ice:menuItem value="Open" actionListener="#{tree.NodeValue}"> 
           <f:param name="effectType" value="Open"/> 
         </ice:menuItem> 
         <ice:menuItem value="Close"> 
           <f:param name="effectType" value="Close"/> 
         </ice:menuItem> 
         <ice:menuItem value="Send"> 
           <f:param name="effectType" value="Send"/> 
         </ice:menuItem> 
       </ice:menuPopup> 
</ice:treeNode> 

Проблема в том, что ActionListener = «# {} tree.NodeValue» никогда не вызывается. Может ли кто-нибудь сказать мне, где я ошибаюсь?

ответ

0

Попробуйте переместить лед: menuPopup ..../лед: menuPopup, что блок, вставьте этот блок в линию чуть ниже:

ice:commandLink actionListener="#{tree.Url}" value="# 
        {item.userObject.text}" 

Таким образом, они в то же panelGroup. Это работает для меня таким образом, но я все еще использую icefaces 1.8.

Смежные вопросы