2011-07-20 6 views
0

プログラム中に値を保持できない変数(myChoiceという名前)があります。これはコードです。プログラム中に変数の値を保持できません

JSF:

<h:form id="main"> 
     <p:growl id="msgs" /> 
     <h:selectOneMenu value="#{Bean.myChoice}"> 
     <f:selectItems value="#{Bean.getMyListKPI()}" /> 
     <p:ajax event="valueChange" update="f1,f2,f3" 
      listener="#{Bean.selectChangeHandler}"></p:ajax> 
     </h:selectOneMenu> 
    </h:form> 

私のコードのJAVA:

public List<SelectItem> getMyListKPI() { 
    FindKpi fkpi =new FindKpi(); 
    if (MyListKPI == null) { 
     MyListKPI = new ArrayList<SelectItem>(); 
      for (String val : fkpi.FindListKpi(iduser)) { 
       MyListKPI.add(new SelectItem(val)); 
      } 
      } 
    return MyListKPI; 
} 

public void selectChangeHandler() { //mychoice has the right value 

    form1Visible = false; 
    form2Visible = false; 
    form3Visible = false; 

    if (this.myChoice.equals("Number Of Issues in Status")) { 
     this.setMyChoiceInter(myChoice); 
     form1Visible = true; 

    } else if (this.myChoice.equals("Response Time")) { 
     form2Visible = true; 
    } else if (this.myChoice.equals("Environment Availibility")) { 
     form3Visible = true; 
    } 
} 


public String query() 
{ 
    if (this.myChoice.equals("Number Of Issues in Status")) { //myChoice always NULL 

    //.... 

    } 
} 

更新

私はmyChoiceは、静的と宣言して、それが働きました! :)

+2

Beanの有効範囲は? –

+0

'myChoice'の設定があります。 – Thomas

+0

はいゲッターとセッターがあり、スコープはリクエストです – rym

答えて

0

管理対象のbean BeanmyChoiceプロパティ付き)をリクエストスコープにするだけです。

関連する問題