我有一個帶有監聽器的p:ajax的多輸入字段。他們都連接到同一個監聽器。我怎麼知道哪個組件觸發了監聽器?如何知道哪個組件觸發了一個p:ajax請求
<h:inputText id="postalCode" size="20" value="# businessPartner.primaryAddress.postalCode}"
<p:ajax event="change" listener="#{businessPartner.primaryAddress.retrievePostalCodeCity}" >
</p:ajax>
</h:inputText>
<h:inputText id="city" size="60" value="# businessPartner.primaryAddress.city}"
<p:ajax event="change" listener="#{businessPartner.primaryAddress.retrievePostalCodeCity}" >
</p:ajax>
</h:inputText>
public void retrievePostalCodeCity() throws MWSException {
int country = address.getCountryId();
String postalCode = address.getPostalCode();
String city = address.getCity();
}
我有這個問題,因爲我用A4J AJAX,但我移動的項目,充分primefaces,不再RichFaces的。 a4j的監聽器有一個AjaxBehaviorEvent事件,在那裏我可以做event.getComponent()。getId()
我該怎麼做同樣的素質ajax?
我通常更喜歡p:ajax,因爲如果我需要知道已完成的過程,那麼它就是不完整的。 – HRgiger
的確如此,但是OP的特定結構並未顯示出來。我明確提到,在OP的特定結構中,''可以用作良好的。 –
BalusC
我不想使用onstart和oncomplete,因此我使用p:ajax。問題是如果我將偵聽器更改爲public void retrievePostalCodeCity(AjaxBehaviorEvent event){。我得到一個錯誤:javax.faces.FacesException:Target Unreachable,標識符'businessPartner'解析爲null – roel