【问题标题】:adf addpartialTarget dont render the UI component correctlyadf addpartialTarget 未正确呈现 UI 组件
【发布时间】:2019-09-28 07:51:29
【问题描述】:

我的页面上有静态 LOV,代码如下:

 <af:selectOneChoice id="soc4" autoSubmit="true" valueChangeListener="#{pageFlowScope.Bean.change}"  required="true">
     <f:selectItem itemLabel="#{viewcontrollerBundle.occ}" itemValue="1"/>
      <f:selectItem itemLabel="#{viewcontrollerBundle.leave}" itemValue="2"/>
      <f:selectItem itemLabel="#{viewcontrollerBundle.hold}" itemValue="3"/>
   </af:selectOneChoice>

并且有一个由支持 bean 上的布尔显示按钮呈现的按钮:

       <af:button bindings="#{pageFlowScope.bean.button}" partialTriggers="soc4" actionListener="#{bindings.CreateWithParams.execute}" 
        text="#{viewcontrollerBundle.insert}"
        rendered="#{pageFlowScope.LandsCostsBean.showbutton}" id="b2"/>

在 valueChangeListener 中,我将 showbutton 更改为 true 并尝试刷新按钮以呈现它 但它不能正常工作,因为 showbutton 值没有改变! 这是支持 bean 中的代码:

      public void change(ValueChangeEvent vce) {
    try {
        Number type= new Number(vce.getNewValue());
        rangeType=landType;
        showbutton=true; 
        filterLandRangeCostByType(landType); 
        button.setVisible(true);
        AdfFacesContext.getCurrentInstance().addPartialTarget(button);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

【问题讨论】:

    标签: jsf oracle-adf


    【解决方案1】:

    在 Oracle ADF 中,如果要刷新组件及其所有属性,则需要在其父组件上添加 PPR。

    在你的情况下:

    AdfFacesContext.getCurrentInstance().addPartialTarget(button.getParent());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-19
      • 2019-08-26
      • 1970-01-01
      • 2012-05-30
      • 2021-12-07
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多