在ADF中处理动作侦听器后,有没有办法处理客户端侦听器?
以下是我的代码段:
<af:commandLink text="Click Me" id="myLink"
partialSubmit="true"
actionListener="#{pageFlowScope.myBean.changeSelection}">
<af:clientListener method="showMyTable" type="action"/>
</af:commandLink>
<af:outputText value="#{pageFlowScope.myBean.selectedValue}" id="ot1"
partialTriggers="myLink" />
我的用例是:当我点击命令链接时,我必须更改输出文本的显示值,然后必须使用javascript(客户端监听器)显示一些其他组件。
我的问题是:当我点击命令链接时,首先要处理客户端监听器。处理完客户端侦听器后,输出文本组件将通过动作侦听器进行刷新。
我的要求是首先处理动作侦听器,以便首先刷新输出文本组件。然后处理客户端监听器以显示其他组件。
答案 0 :(得分:1)
没有办法让它以这种方式工作,因为clientListener将在设计之前工作。
但是,您只需直接从actionListener启动javascript请求即可实现目标。
在actionListener的方法中执行类似的操作:
FacesContext fctx = FacesContext.getCurrentInstance();
ExtendedRenderKitService service = Service.getRenderKitService(fctx, ExtendedRenderKitService.class);
service.addScript(fctx, "showMyTable();");