0

チェックボックスの値をtrueに設定するバッキングBeanを持つselectBooleanCheckboxがあります。これは、レンダリング時にチェックされたボックスを示しています。(私が欲しいもの)しかし、ボックスをクリックすると(チェックを外す必要があると仮定して)、引き続きチェックされます。2 回目のクリックでのみ、ボックスのチェックが外れます。これは別の問題につながります。ボックスがクリックされない場合 (値が変更されていないため、ブール値が true に等しいと仮定すると)、値は false として保存され、私のロジックが台無しになります。要件により、ロード時にボックスをチェックする必要があります。注: Ajax は正しく動作しているようです。これが私のコードです:

html:

 <p:selectBooleanCheckbox id="testBox"
                widgetVar="textBoxVar"
                value="#{bean.testValue}">
                <p:ajax event="change" process="testValue">
                    <s:conversationId/>
                </p:ajax>
 </p:selectBooleanCheckbox>

豆:

 Boolean testValue = 'true';

 public void setTestValue(Boolean test1){
    this.testValue = test1; 
  }

 public Boolean getTestValue(){
     return this.test;
 }
4

1 に答える 1

0

最初にこの構造:

Boolean testValue = 'true';

は Java には存在しないため、これは単なる入力ミスと見なします。

第二に、あなたprocess="testValue"は正しくないようです。少なくともここには、この ID を持つコンポーネントはありません。これだけを処理したい場合は、 またはp:selectBooleanCheckboxを使用します。process="testBox"process="@this"

また、私が知っているs:conversationIdのは JBoss Seam フレームワークからのものであるため、それが正しく機能するかどうかはわかりませんが、p:ajaxそれはあなたが確認する仕事ですが、Seam 会話では正しく機能しない可能性があることを覚悟しておいてください。

于 2013-02-24T17:25:58.817 に答える