RichFaces - 在一个panelgrid下使用与两个兄弟相同的actionParameter

时间:2010-02-15 12:30:20

标签: jsf richfaces

我有一个带有富脸支持对象的面板网格,下面是一个动作参数对象。

<h:PanelGrid id="button" value="button1">
 |
 \-<a4j:support event="onclick" action="#{bean.doSomething}" >
 |       |
 |       \-<a4j:actionParameter value="1" assignTo="#{bean.currentlySelected}">
 |
 \-<a4j:ContextMenu>
    |
    \<menuItem .. DoSomethingWithSelectedButton ...>

理念 - 包含左键单击操作的按钮和右键单击的上下文菜单。

action参数允许支持标记知道选择了哪个按钮(panelgrid),并在辅助bean中对其执行操作。

我想对上下文菜单做同样的事情。含义 - 使用“currentSelected”来决定使用contextMenu的按钮。但是,“currentSelected”仅在单击按钮而不是上下文菜单中的菜单项时设置。

我尝试将现有的actionParam添加为menuitem的eventListener,但这不起作用。 我想到的另一个解决方案是为每个菜单项创建一个新的actionParam,但这似乎有点浪费资源。

我正在寻找关于“聪明”或“正确”做法的提示。

感谢!!!

1 个答案:

答案 0 :(得分:1)

尝试

<rich:menuItem ..>
    <a4j:support .. >
         <f:setPropertyActionListener target="#{bean.current}" value="1" />
    </a4j:support>
</rich:menuItem>