Richfaces使用Ajax加载modalPanel

时间:2011-02-23 15:53:41

标签: java jsf richfaces

我在我的项目中使用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中加载弹出窗口的内容呢?

由于

2 个答案:

答案 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。抱歉,直接粘贴此处太长了。