我有一个带有支持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;
}
答案 0 :(得分:0)
首先这个结构:
Boolean testValue = 'true';
在Java中不存在,所以我会将其视为输入错误。
第二,你的process="testValue"
似乎不对。您没有具有此ID的组件,至少在此处没有。如果您只想处理此p:selectBooleanCheckbox
使用process="testBox"
或process="@this"
。
另外,正如我所知s:conversationId
来自JBoss Seam框架,我不知道p:ajax
的工作是否正确,这是你要检查的工作,但要做好准备这可能不会使用Seam对话正确工作。