我正在尝试使用树和contextMenu绑定来执行此操作,但是 缺了点什么。 目标是将用户重定向到同一应用程序的其他上下文 (在另一个窗口中打开它。)
我有一棵树:
<rich:tree id="treeId"
value="#{controller.rootNodes}" var="node"
toggleType="client"
selectionType="ajax"
selectionChangeListener="#{controller.selectionChanged}">
<rich:treeNode>
<h:outputText id="row_name" value="#{node.name}" />
</rich:treeNode>
</rich:tree>
上下文菜单:
<rich:contextMenu
id="popupID"
target="treeId"
showEvent=""
jointPoint="topRight"
direction="bottomRight"
style="z-index:300;">
<rich:menuGroup label="MainGroup.." direction="bottomRight" jointPoint="topRight">
<rich:menuItem label="Goto_some_app_context"
onclick="window.open('#{request.contextPath}#{controller.newUrl()}');return false;"/>
</rich:menuGroup>
</rich:contextMenu>
newUrl()方法应该在呈现所选节点的上下文菜单时触发,并且在页面加载时会触发一次(并且没有选择任何内容), 但是当我选择节点,点击菜单或点击菜单项时,它永远不会触发。
问题是:如何以及何时应该呈现上下文菜单以使用newUrl()方法的返回值生成正确形成的Ajax函数?请注意,我将重用此上下文菜单,因为它适用于使用<a4j:repeat>
我正在使用RichFaces版本v.4.2.2.Final