我使用JSF 2和Primefaces 4,並有以下問題:號碼:阿賈克斯更新不與對工作:selectBooleanCheckbox
我有下面的代碼在我的XHTML:
<h:form id="form">
<table>
<tr id="formats">
<td>Formats</td>
<td>
<p:selectBooleanCheckbox value="#{bean.entity.formatted}">
<p:ajax event="change" update="formatsSelect" />
</p:selectBooleanCheckbox>
<p:selectOneMenu id="formatsSelect" rendered="#{bean.entity.formatted}">
<f:selectItems value="#{bean.formats}" />
</p:selectOneMenu>
</td>
</tr>
</table>
</h:form>
它輸出一個複選框和一個選擇菜單,我期望的是,當我檢查複選框時,選擇菜單應該出現,並且當我取消選中時應該消失....但沒有任何反應,我檢查並取消選中它,並且選擇菜單不受影響。
理論上這應該工作,因爲selectBooleanCheckbox值綁定到entity.formatted布爾值,並且selectOneMenu中的呈現值綁定到entity.formatted值並且p:ajax指向更新中的正確id屬性和事件是正確的。這最後一點我知道,因爲我創造了我的bean的偵聽器打印的格式的值:
public void changeListener(){
System.out.println(this.entity.isFormatted());
}
,改變了電話號碼:阿賈克斯:
<p:ajax event="change" update="formatsSelect" listener="#{bean.changeListener}" />
它輸出的值的格式控制檯。 我在做什麼錯?