menupopup事件监听器不会被调用?

时间:2011-02-24 07:53:40

标签: jsf-2 icefaces

我正在使用ice:menuPopup在树节点上创建菜单。在jspx页面中我有类似的东西

<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}”永远不会被调用。谁能告诉我哪里错了?

1 个答案:

答案 0 :(得分:0)

尝试移动冰:menuPopup .... / ice:阻止的menuPopup,将该块插入下面的行:

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

因此他们在同一个panelGroup中。它对我有用,但我仍然使用icefaces 1.8。