2014-03-14 87 views
0

我正在JDeveloper 11.1.1.7.0中工作。我正在ADF中創建一個簡單的表單應用程序。 我需要在控制檯中打印ADF窗體的輸入值。爲此,我使用了下面的代碼。Oracle 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

實際上,使用您提到的方法應該會得到所需的選定值。在執行下面的代碼後,您是否會遇到任何異常,您是否可以共享所獲得的輸出。

System.out.println(「soc1:」+ soc1.getValue());

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" /> 

而且在管理豆你應該有:

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); 
} 
0

設置屬性valuePassThru爲true,你應該得到的selectOneChoice的值也是如此。