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は、静的と宣言して、それが働きました! :)
Beanの有効範囲は? –
'myChoice'の設定があります。 – Thomas
はいゲッターとセッターがあり、スコープはリクエストです – rym