我有一个带有支持bean的selectBooleanCheckbox,它将checkbox的值设置为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>bean:
Boolean testValue = 'true';
public void setTestValue(Boolean test1){
this.testValue = test1;
}
public Boolean getTestValue(){
return this.test;
}发布于 2013-02-25 01:25:59
首先是这个结构:
Boolean testValue = 'true';在Java中是不存在的,所以我会把它看作是输入错误。
其次,你的process="testValue"似乎不太对劲。您没有具有此ID的组件,至少这里没有。如果只想处理这个p:selectBooleanCheckbox,请使用process="testBox"或process="@this"。
此外,据我所知,s:conversationId来自JBoss Seam框架,我不知道与p:ajax的工作是否正确,这是你需要检查的工作,但请准备好,这可能无法与Seam对话正确工作。
https://stackoverflow.com/questions/15033467
复制相似问题