繁体   English   中英

在不使用a4j:status的情况下,为每个ajax请求调用rich:modalPanel?

[英]Call rich:modalPanel for every ajax request with out using a4j:status?

我正在使用JSF richfaces开发Web应用程序。主模板中有一个rich:modalpanel 此模式面板具有“您的请求正在处理.....”消息。

我想在每个动作( ajax request )中显示此消息( modalPanel )。 但不使用a4j:status元素。

是否有可能做到这一点(使用监听器或其他方式)?
如何使用侦听器显示所有动作的wait modalPanel?

帮我解决这个问题。 提前致谢。

更新:

如果我用我的主要神庙

<a4j:status id="waittingMessage"
            onstart="javascript:Richfaces.showModalPanel('progressWaitModalPanel');"
            onstop="javascript:Richfaces.hideModalPanel('progressWaitModalPanel');"/>       

我将上述a4j:status称为以下位置:以下每个组件我在我的应用程序中使用了100多个位置

            <a4j:commandButton status="waittingMessage"/> 
            <a4j:commandLink   status="waittingMessage"/> 
<h:selectOneMenu><a4j:support  status="waittingMessage"/>  </h:selectOneMenu>
<h:selectOneRadio><a4j:support status="waittingmessage"/></h:selectOneRadio>
<h:selectBooleanCheckbox><a4j:support status="waittingmessage"/></h:selectBooleanCheckbox>

在未来,

我不需要显示progressWaitModalPanel ,那时候我将删除主模板中的a4j:status
但是,此status =“ waittingMessage”呢? 因为此状态=“ waittingmessage”,所以我在整个应用程序中添加了1000多个位置。

<a4j:status>是执行此操作的正确方法。 我没有其他办法了 也许您可以使用一些底层的javascript,但是这样做是错误的。

如果status为当前form ,则无需显式指出哪个是状态-默认情况下使用。

<a4j:status id="waittingMessage"
        onstart="Richfaces.showModalPanel('id_modalPanel')"
        onstop="Richfaces.hideModalPanel('id_modalPanel')">
        <f:facet name="start">
            <label></label>
        </f:facet>
        <f:facet name="stop">
            <label></label>
        </f:facet>
</a4j:status>
<ui:include src="/modalPanel.xhtml" />

modalPanel.xhtml可以包含与显示相关的内容。

您可以将上面的内容放在单独的文件中,例如status.xhtml,然后将其包含在其他页面中,如下所示:

<a4j:outputPanel ajaxRendered="true">
<ui:include src="status.xhtml" />
</a4j:outputPanel>

因此,具有ajax请求的任何页面都将显示在消息窗口上方。您无需为每个a4j:button等添加任何状态msg。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM