ui内のチェックボックス:Ajaxでリフレッシュされない繰り返し

私はMojarra 2.1.3で作業します。

ユーザーが「更新しないでください」ボタンをクリックすると、ui:repeatの内容が更新されます。初期化時と同様に、チェックボックスがオンになっていると思います。

私が見つけたもの:フェイスレットのh:頭を取り除くと、「リフレッシュできません」という作品が…何か考えられますか?

facelet:





  
     
     

composite onlyCheckbox:

     <trc:onlyCheckbox value="#{column.value}" />
     

composite onlyInputText:

     <trc:onlyInputText value="#{column.value}" />
     


onlyCheckboxとonlyInputTextのコンポジット:


 


boolean: 
<!-- for onlyInputText h:inputText instead of h:selectBooleanCheckbox -->
boolean value: #{cc.attrs.value}

バッキングビーン:

@ManagedBean
@RequestScoped
public class Sandbox {
    public List columns = Arrays.asList(new Column(true));

    public List getColumns() {
      return columns;
    }        
    public void setColumns(List columns) {
    this.columns = columns;
    }

    public class Column {
       private boolean value;
       public Column(boolean value) {
          this.value = value;
       }
       public void setValue(boolean value) {
          this.value = value;
       }
       public boolean getValue() {
          return this.value;
       }
    }
}
ベストアンサー

I can reproduce your problem even on latest Mojarra 2.1.4. It
works fine if the checkbox is not inside a composite. This is a bug
in Mojarra’s . It is
totally broken
in Mojarra. It works perfectly fine on MyFaces 2.1.3.

2つの選択肢があります:

  • Replace Mojarra by MyFaces.
  • Use an UIData component instead of , e.g. , , ,
    etc.

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です