adf addpartialTarget无法正确呈现UI组件

问题描述 投票:1回答:1

我的页面上有以下代码的静态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上有一个由boolean showbutton呈现的按钮:

       <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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.