Primefaces Ajax调用Javascript

Lan*_*ter 2 ajax jsf primefaces

我想知道你是否可以特别调用ajax语句中的javascript我试图让以下工作.

        <p:commandLink id="saveButton" value="Save" >
            <p:ajax event="click" actionListener="#{bean.saveButtonPressed()}" />
            <p:ajax event="click" actionListener="if(#{cbean.showSaveOverlay}){saveOverlay.show();}" />
        </p:commandLink>
Run Code Online (Sandbox Code Playgroud)

并且showSaveOverly在saveButtonPressed中设置.

知道怎么做吗?

Bal*_*usC 12

使用PrimeFaces提供的RequestContextAPI.

首先规范你的ajax监听器:

<p:ajax event="click" listener="#{cbean.showSaveOverlay}" />
Run Code Online (Sandbox Code Playgroud)

然后相应地调用RequestContext#execute()动作侦听器方法:

public void showSaveOverlay() {
    if (...) {
        RequestContext.getCurrentInstance().execute("saveOverlay.show()");
    }
}
Run Code Online (Sandbox Code Playgroud)