我使用JSF 2與primefaces 5.1,我有一個selectOneButton有2個值, EN/FR,我想每次語言改變時通知,然後更改頁面的語言環境。 現在的問題是,這個selectOneButton在splitButton中,出於某種原因, 「change」事件的ajax提交對selectOneButton總是返回null,並且它永遠不會傳遞所選的值。selectOneButton不能提交,而在splitButton內
<h:form prependId="false" id="headerForm">
<p:splitButton>
<p:menuitem>
<p:selectOneButton id="langs" value="#{bean.lang}" >
<f:selectItem itemLabel="English" itemValue="en"/>
<f:selectItem itemLabel="Françcais" itemValue="fr"/>
<f:ajax event="change"/>
</p:selectOneButton>
</p:menuitem>
</p:splitButton>
這只是用於測試:
public void setLang(String lang) {
System.out.println("Changed: " + lang);
this.lang = lang;
}
當我把selectOneButton的p內:菜單的例子,它工作得很好。
變化''到''像這樣:'' ('process =「@ this」'可以安全地省略,因爲順便說一句,它已經默認爲'@ this'。刪除'listener =「#{bean.action}」',如果不需要,就像你在示例中沒有提到的那樣)。 –
Tiny
2015-03-15 21:19:41
@Tiny非常感謝你,請張貼你的答案,以便我可以接受它。 – 2015-03-16 04:35:33