2013-04-03 30 views
0

我有一個2組合框1.company & 2.city,當我從公司的組合框中選擇任何一家公司,它會改變阿賈克斯城市組合框我的問題是,我應該使用p AJAX聽衆美男子

<p:ajax update="city" listener="pretty:cityOnChange" /> 

OR

<p:ajax update="city" listener="#{actionClass.cityOnChange}" /> 
當我用下面的語句

我得到異常
監聽= 「漂亮:cityOnChange」:不能轉換漂亮:型類java.lang.String的cityOnChange類javax.el。方法表達式

<p:ajax update="city" listener="pretty:cityOnChange" /> 

這是我使用

<h:outputLabel value="select Company" /> 
<p:selectOneMenu id="companySelectId" value="#{circleAction.companyBeans.companyBeansId}"> 
<f:selectItems value="#{circleAction.companyBeans.companyMap}"/> 
<p:ajax update="city" listener="pretty:cityOnChange" /> 
</p:selectOneMenu> 

回答

1

不,你不能使用PrettyFaces導航字符串作爲listener屬性值的代碼。該屬性必須引用使用EL表達式的方法。就像異常告訴你一樣。

+0

所以你的意思是我應該使用

+0

是的。你應該簡單地引用這個方法,然後在那裏做任何你想要的。由於您只發送更新頁面某個部分的AJAX調用,因此PrettyFaces導航沒有任何理由。 PrettyFaces通常執行重定向到其他頁面。我想你不想在這裏,對吧? – chkal

+0

是的,你是對的(Y) –