0

嗨,我想将 JSF 消息呈现为引导警报

<ui:repeat value="#{facesContext.messageList}" var="facesMessage">
    <div class="alert">
        <button type="button" class="close" data-dismiss="alert">&times;</button>
        <strong>Warning!</strong> #{facesMessage.summary}
    </div>
</ui:repeat>

在 primefaces 中有

<p:messages autoUpdate=true>

意味着它会在每个 ajax 请求上重新渲染,而无需将其显式添加到 commandLink 的渲染属性中

有没有办法用普通的 JSF-ajax 标签来实现这一点?

4

1 回答 1

3

您可以在页面加载期间尝试这样的事情:

jsf.ajax.addOnEvent(autoRender);

并且autoRender您将能够触发一种操作以呈现目标组件。例如:

function autoRender() {
    $(":form:autoRenderHiddenButton").click();
}

在按钮中:

<h:commandButton id="autoRenderHiddenButton" 
                 style="display: none">

    <f:ajax render="theComponentIdYouWantToRender"/>
</h:commandButton>

或者,您可以使用Omniface 的 commandScript轻松实现相同的行为:

<o:commandScript name="autoRender" render="theComponentIdYouWantToRender"/>
于 2017-05-26T14:21:39.367 回答