Я бы предложил создать HTML-страницу, которая использует setIntreval (), чтобы неоднократно совершать вызовы AJAX скрипту PHP, который запрашивает вашу базу данных. Вы можете использовать JSON и PEAR, чтобы облегчить задачу.
Ссылки:
AjaxBehaviorEvent
не относится к RichFaces. Это характерно для JSF2. Поэтому вы можете просто использовать его в PrimeFaces.
public void retrievePostalCodeCity(AjaxBehaviorEvent event) {
UIComponent component = event.getComponent();
// ...
}
В качестве альтернативы или для случая, когда действительно невозможно в другом месте, вы всегда можете использовать новый JSF2 UIComponent#getCurrentComponent()
.
public void retrievePostalCodeCity() {
UIComponent component = UIComponent.getCurrentComponent(FacesContext.getCurrentInstance());
// ...
}
Кстати, та же самая конструкция должна отлично работать с собственными JSF2 <f:ajax>
. Я не вижу причин использовать <p:ajax>
здесь. Это было бы единственным способом, если бы вы фактически использовали компонент PrimeFaces, такой как <p:inputText>
.
Не связанный с конкретной проблемой, event="change"
уже по умолчанию. Вы можете просто опустить это.
Это почти то же самое в pеференциях:
<p:ajax event="change" listener="#{businessPartner.primaryAddress.retrievePostalCodeCity}" />
import javax.faces.event.AjaxBehaviorEvent;
.....
public void retrievePostalCodeCity(AjaxBehaviorEvent event) {
...
}
Если вы хотите получить доступ через тег компонента action / actionListener , вы можете использовать ActionEvent
и для любого случая make убедитесь, что вы установили ajax = "true" :
<p:commandLink actionListener="#{businessPartner.primaryAddress.retrievePostalCodeCity}" ajax="true" />
import javax.faces.event.ActionEvent;
....
public void retrievePostalCodeCity(ActionEvent event) {
...
}
<f:ajax>
можно использовать как хорошее. – BalusC 23 November 2012 в 13:49<f:ajax>
вообще не имеет атрибутовonstart
иoncomplete
, поэтому ваш аргумент не имеет смысла, поэтому я проигнорирую его. Возвращаясь к вашей конкретной проблеме, эта проблема возникает в другом месте, что не видно в представленной до сих пор информации. SSCCE поможет. – BalusC 23 November 2012 в 16:58