2017-04-05 23 views
0

JSFラジオボタンが機能せず、なぜその理由がわかりません。ここにいくつかのコード:JSFのラジオボタンで値が正しく設定されない

 <h:selectOneRadio value="#{jSFDatabase.type}"> 
      <f:selectItem itemValue="0" itemLabel="Database" /> 
      <f:selectItem itemValue="1" itemLabel="Webservice" /> 
     </h:selectOneRadio> 

     <h:outputLabel value="#{jSFDatabase.type }" /> 

他のラジオボタンをクリックすると、値はまだ0(デフォルト)です。このコードはなぜ機能しないのですか?ゲッターとセッターはここにある:

public String getType() { 
    return type; 
} 

public void setType(String type) { 
    this.type = type; 
} 

私はその問題を解決することができますか?

+0

は何 'jSFDatabase'の範囲でしょうか?選択を変更した後にフォームをポストしていますか? –

+0

ボタンなどを意味しますか?いいえ、私はコードをどのように変更するのでしょうか? – Mongos

+0

フォームをポストして再レンダリングするには ' 'を使うか、ページの領域を明示的に再レン​​ダリングするには' 'を使う必要があります。 –

答えて

0

影響を受けた領域を再描画するには<f:ajax />を使用するか、AJAXを使用しない場合はフォームを投稿する必要があります。そうしないと、データは更新されません。

たとえば、あなたがこれを行うことができます:

<h:selectOneRadio value="#{jSFDatabase.type}"> 
     <f:selectItem itemValue="0" itemLabel="Database" /> 
     <f:selectItem itemValue="1" itemLabel="Webservice" /> 
     <f:ajax execute="@form" render="myValue" /> 
    </h:selectOneRadio> 

    <h:outputLabel id="myValue" value="#{jSFDatabase.type }" /> 

参照: http://docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/facelets/f/ajax.html https://www.mkyong.com/jsf2/jsf-2-button-and-commandbutton-example/

関連する問題