2011-02-24 103 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。