我使用selectOneRadio来选择可用的输入文本。因此,我有了这个变体:
<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 =零getInput2 = null
但是,如果我没有使用partialTriggers这个变体工作得很好,并在db中放置正确的值…
有人能帮忙吗?jdeveloper 10.1.3谢谢!
http://www.slideshare.net/stevendavelaar/18-invaluable-lessons-about-adfjsf-interaction
这篇文章非常有用,值得一读。
谢谢大家。
对于更新属性,我使用:
getMyInputText().setDisabled(true);
getMyInputText().setReadOnly(true);
AdfFacesContext.getCurrentInstance().addPartialTarget(getMyInputText());