0

我有一个带有支持 bean 的 selectBooleanCheckbox,它将复选框的值设置为 true。这显示了在渲染时选中的框。(我想要什么)但是,当您单击该框(假设它应该取消选中)时,它会继续被选中。只有在第二次单击后,该框才会变为未选中状态。这导致另一个问题。如果从未单击该框(假设布尔值应等于 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 回答