我在JDeveloper 11.1.1.7.0中工作。我在ADF中创建一个简单的表单应用程序。 我需要在控制台中打印ADF表单的输入值。为此,我使用了以下代码。
System.out.println("It1 : " + it1.getValue());
System.out.println("si1 : " + si1.getValue());
System.out.println("soc1 : " + soc1.getValue());
输入值将在控制台中填充RichInputText * (it1) *字段和RichSelectItem * (si1) *字段。但是,同样不适用于RichSelectOneChoice * (soc1) *字段。
如何打印在RichSelectOneChoice * (soc1) *字段中选择的值。
提前致谢。
答案 0 :(得分:0)
实际上使用你提到的方法你应该得到所需的选定值。如果你在执行下面的代码后得到任何异常,你可以分享你得到的输出。
System.out.println(“soc1:”+ soc1.getValue());
答案 1 :(得分:0)
您不需要将组件绑定到托管bean(实际上,这被认为是一种不好的做法),但只绑定组件值。
因此,您的表单应包含(例如):
<af:inputText value="#{managedBean.inputTextValue}" id="it1" />
<af:selectOneChoice value="#{managedBean.selectOneChoiceValue}" id="soc1">
<af:selectItem itemValue="first" itemLabel="First" id="si1" />
<af:selectItem itemValue="second" itemLabel="Second" id="si2" />
<af:selectItem itemValue="third" itemLabel="Third" id="si3" />
</af:selectOneChoice>
<af:commandButton actionListener="#{managedBean.printValues}" id="cb1" />
在托管bean中你应该有:
private String inputTextValue;
private String selectOneChoiceValue;
//accessors
public void printValues(ActionEvent event) {
System.out.println("Input text value: " + inputTextValue);
System.out.println("Select one choice value: " + selectOneChoiceValue);
}
答案 2 :(得分:0)
将属性valuePassThru设置为true,您也应该获得selectOneChoice的值。