如何在弹出面板显示之前从支持bean调用方法?
<h:commandButton value="Call the popup" action="#{bean.doSomething}" >
<rich:componentControl target="popup" operation="show" />
</h:commandButton>
<rich:popupPanel id="popup" modal="true" resizeable="true" onmaskclick="#{rich:component('popup')}.hide()">
...
</rich:popupPanel>
在这种情况下, doSomething()方法不会调用。
答案 0 :(得分:5)
将a4j:ajax
嵌套在commandButton
或使用a4j:commandButton
。这两个组件有一个oncomplete
属性,您可以在其中放置一个代码来打开弹出对话框,如下所示:
<a4j:commandButton value="Call the popup" action="#{bean.doSomething}" oncomplete="#{rich:component('popup')}.show()">
</a4j:commandButton>
这将在单击按钮时执行ajax请求,并在请求完成时打开弹出窗口。
答案 1 :(得分:1)
答案 2 :(得分:1)
我认为在这种情况下你应该使用actionListener。该操作用于更改视图,我假设您只想显示弹出窗口。
MAG, 米洛