2017-05-12 9 views
0

Guys Oracle ADFでこの単純な加算関数を作成しています 最初に2つの入力フィールドを入力し、3番目の入力フィールドを出力に使用し、3番目の入力フィールドにはボタンを計算します。 ADF これにADF Fusionのアプリケーションを作成した後にページoperation.onさらには、あなたがバインディングを見ることができるようにOracle adf追加問題

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE html> 
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"> 
    <af:document title="PageAdd.jsf" id="d1"> 
     <af:form id="f1"> 
      <af:inputText label="input1" id="it1" binding="#{Mbean.input1}" autoSubmit="true"/> 
      <af:inputText label="input2" id="it2" binding="#{Mbean.input2}" autoSubmit="true"/> 
      <af:inputText label="output" id="it3" binding="#{Mbean.output}" autoSubmit="true"/> 
      <af:button text="Submit" id="b1" action="#{Mbean.b1_action}"/> 
      <af:selectBooleanRadio text="selectBooleanRadio 1" label="Label 1" id="sbr1"/> 
     </af:form> 
    </af:document> 
    <!--oracle-jdev-comment:preferred-managed-bean-name:Mbean--> 
</f:view> 

ためのコードです。 MbeanはManaged Beanで、 '。'の後ろの部分です。プロパティです。 ボタンの中で、私はこのメソッドをb1_actionという名前で作成しました。 以下はJavaコードです。 パッケージビュー。親切

import javax.faces.component.UIViewRoot; 
import javax.faces.context.FacesContext; 
import javax.faces.event.ActionEvent; 

import oracle.adf.view.rich.component.rich.input.RichInputText; 

public class Addition { 
    private RichInputText input1; 
    private RichInputText input2; 
    private RichInputText output; 

    public Addition() { 
    } 

    public void setInput1(RichInputText input1) { 
     this.input1 = input1; 
    } 

    public RichInputText getInput1() { 
     return input1; 
    } 

    public void setInput2(RichInputText input2) { 
     this.input2 = input2; 
    } 

    public RichInputText getInput2() { 
     return input2; 
    } 

    public void setOutput(RichInputText output) { 
     this.output = output; 
    } 

    public RichInputText getOutput() { 
     return output; 
    } 

    public String b1_action() { 
     String s; 
     String x; 
     String v; 
     s = (String)input1.getValue(); 
     x = (String)input2.getValue(); 
     int r2=Integer.parseInt(x); 
     int r1= Integer.parseInt(s); 
     int d =r2+r1; 
     v =Integer.toString(d); 
     output.setValue(v);   
     System.out.println(output.getValue()); 

     return null; 
    } 


} 

私のアプリケーションが値を取るとさえ一緒に追加することができますが、私は を行うことができないのです第3の入力テキストフィールドに表示することはできませんが、私はこのツールに新しいですし、言語のJava助けて。

<af:inputText label="output" id="it3" binding="#{Mbean.output}" autoSubmit=“true" partialTriggers=“ b1"/> 

答えて

0

は、このような部分的なトリガー属性がADDD。 次に出力のためにpartialTriggers="it1 it2"としてください。 ボタン用にpartialSubmit="True"を作成します。

何もthis.output.setValue(V);

+0

を書き込もう起こっていない場合、私はそれが – DPJ

+0

部分トリガーがあなたのボタンのIDを指摘する必要が間違いだったラジオボタンを削除しました。投稿を編集しました。もう一度確認してください。 –

+0

ボタンを押した後にJava.faces.FacesExceptionとjava.lang.Nullpointer例外としてエラーが発生しました。 – DPJ

0

最初の入力1と入力2 autoSubmit="True"を作る:あなたの「出力」コンポーネントを

+0

Java.faces.Faces ExceptionとJava.faces.el.evaluation.Exception、Java.lang.NullPointer.Exceptionを取得する – DPJ

+0

申し訳ありません、PraticTriger = "it1 it2"の代わりにpartialTriggers = "it1 it2" –