0

我在 JSF 工作

当我打开弹出屏幕时,我的 a4j ajax 调用不起作用。

如果我不弹出窗口,那么相同的屏幕在哪里工作。

这是平常的事吗?


弹出一页......这样的代码很少......

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk"%>
<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j"%>

延迟设置为

<a4j:queue requestDelay="500" ignoreDupResponses="true" />

和实际的ajax调用

<a4j:commandLink 
    actionListener="#{insuranceBackingBean.viewAll}"
    ajaxSingle="true"
    reRender="formularyList, noRecFoundGridForFormulary, patientCurrentDemographicDetails,patientInsuranceDemographicDetails,conflictSection"
    eventsQueue="onClick"
    onclick="setEligibilityValues('#{insuranceBean.fromEligibility}','#{insuranceBean.payerMessage}','#{insuranceBean.pharmacyBenefitRetailCoverageStatus}','#{insuranceBean.pharmacyBenefitMailOrderCoverageStatus}','#{insuranceBean.pharmacyBenefitLTCCoverageStatus}','#{insuranceBean.pharmacyBenefitSpecialtyCoverageStatus}');setVisibleConflictGrid();"
    >
    <f:verbatim>View</f:verbatim>
    <f:param name="insuranceID" value="#{insuranceBean.id}" />      

setEligibilityValues正在调用但未被调用的脚本在哪里insuranceBackingBean.viewAll

有什么办法吗troubleshoot???

4

1 回答 1

0

我不知道您使用哪个组件/标签作为弹出窗口,但我多次使用不同的组件遇到这个问题,我知道的唯一解决方案是:您应该将弹出窗口作为模式对话框打开。这意味着它应该在iframe中呈现。

通常,如果弹出窗口未配置为模式,则通常会在 div/span 中呈现,并且由于某种原因,ajax 调用无法在服务器端执行。

于 2014-07-12T14:54:16.830 回答