动态地将bean传递给rich:popupPanel

时间:2011-05-14 10:07:03

标签: jsf-2 richfaces

我有一个基类,这是普通的Java类。三个子类扩展它是@ViewScoped bean。有facelet使用动态变量。我有三个xhtml个页面使用这个facelets和三个bean即可。 bean1, bean2 and bean3动态包含在主页上的rich:tab组件中。 到现在为止还挺好。但是在每个页面上都有一些弹出窗口应该引用当前的bean。由于这些弹出窗口中需要form标记,因此我将它们包含在主页面的表单标记之外,以避免嵌套的form标记。现在我希望弹出窗口引用当前的bean(bean1,bean2或bean3,具体取决于调用弹出窗口的位置)。我如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

  1. 添加一个新的bean(popupBean),它将在弹出窗口中包含对当前bean的引用。

  2. 添加一个操作,将所需的bean设置为popupBean的属性。例如:

    <h:commandLink>
        <a4j:ajax render="myPopup"/>
        <f:setPropertyActionListener target="#{popupBean.currentBean}" value="#{bean1}"/>
        <h:outputText value="Click ME!"/>
    </h:commandLink>
    
  3. 使用show的{​​{1}}属性显示弹出窗口:

    rich:popupPanel