我在我的项目中使用richfaces,特别是标签rich:modalPanel,它允许在页面中显示弹出窗口。
所以要做到这一点,我包括我的弹出窗口:
<ui:include src="popup.xhtml" />
此弹出窗口包含以下代码:
<rich:modalPanel id="sra" width="400" autosized="true" left="100" >
...
</rich:modalPanel>
最后要显示弹出窗口,我在主页面中执行此操作:
<a4j:commandLink id="linkSRA" value="#{msg['SRA']}" action="#{controller.checkSRA}" oncomplete="#{rich:component('sra')}.show()" />
一切正常但我的问题是下一个:
在一个页面中,我有很多弹出窗口,每个弹出窗口都包含在主页面中。这个的重量是非常大的。那么,当我想加载弹出窗口时,如何在ajax中加载弹出窗口的内容呢?
由于
答案 0 :(得分:2)
通过某些操作重新渲染面板内容,然后在oncomplete =“..”中打开模式
答案 1 :(得分:0)
我写了一篇文章:“如何创建有状态的Richfaces弹出窗口”,其中我展示了如何创建弹出控制器。这个弹出控制器允许用几行替换所有模态标签:
<a4j:outputPanel binding="#{popupController.popupContainer}" id="popupContainer">
<c:forEach items="#{popupController.popups}" var="popup">
<f:subview id="popupView#{popup.id}">
<ui:include src="#{popup.uri}">
<ui:param name="popupBean" value="#{popup.popupBean}"/>
</ui:include>
</f:subview>
</c:forEach>
</a4j:outputPanel>
该文章可用here。抱歉,直接粘贴此处太长了。