如何在adf中使用partialtriggers,selectOneRadio和inputText

时间:2013-01-15 11:32:56

标签: jsf oracle-adf jdeveloper

我正在使用selectOneRadio来选择哪个inputText可用。所以,我有这个变种:

<af:selectOneRadio 
                                   id="id1"
                                   autoSubmit="true"
                                   binding="#{page.bindingSelect}"
                                   value="#{page.radioBtnValue}">
                  <af:selectItem label="show1" value="show1" />
                  <af:selectItem label="show2" value="show2"/>

<af:inputText id="id2" 
                              value="#{bindings.input1.inputValue}"                            
                              partialTriggers="id1"
                              binding="#{page.input1}" 
                              disabled="#{page.radioBtnValue!='show1'}">                                   
</af:inputText>
<af:inputText id="id3" 
                              value="#{bindings.input2.inputValue}"                            
                              partialTriggers="id1"
                              binding="#{page.input2}" 
                              disabled="#{page.radioBtnValue!='show2'}">                                   
</af:inputText> 

和bean for button:

public String newCommitTest() {
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = 
            bindings.getOperationBinding("Commit");
        Object result = operationBinding.execute();
        if (!operationBinding.getErrors().isEmpty()) {
            return null;
        }
        System.out.println("---------"+getInput1().getValue()) ;
        System.out.println("---------"+getInput2().getValue()) ;
        return null;        
    }

结果我有 getInput1 = NULL getInput2 =空

但是,如果我没有使用partialTriggers,这个变种工作正常,并且在db中输入正确的值......

有人可以帮忙吗? jdeveloper 10.1.3 谢谢!

2 个答案:

答案 0 :(得分:2)

http://www.slideshare.net/stevendavelaar/18-invaluable-lessons-about-adfjsf-interaction

这非常有用,值得一读。它清除了很多混乱。

答案 1 :(得分:0)

感谢所有。对于我使用的更新属性:

getMyInputText().setDisabled(true);
getMyInputText().setReadOnly(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(getMyInputText());