Question

dans mon application JSF je besoin de mettre à jour le composant ui lors de la phase d'application Invoke. Peut-il être fait? Voici le code que j'ai produit jusqu'à présent:

    public void resetDataScroller(ActionEvent actionEvent) {

    final FacesContext ctx = FacesContext.getCurrentInstance();

    ctx.getViewRoot().invokeOnComponent(ctx, "paginator_and_table:scroll_1", new ContextCallback() {
        public void invokeContextCallback(FacesContext facesContext, UIComponent uiComponent) {

            HtmlDatascroller htmlDatascroller = (HtmlDatascroller) uiComponent;

            htmlDatascroller.setPage(1);
            htmlDatascroller.setValue(1);


        }
    });

}

Cet écouteur d'action regarde composante dataScroller et page jeux et de la valeur à 1. semblent Unfortunatelly ne pas travailler du tout, parce que rendu dataScroller a la page différente de 1.

Est-ce que je manque quelque chose?

Était-ce utile?

La solution

Je suppose que votre resetDataScroller une méthode appelée par un attribut actionListener d'un bouton de commande / lien sur votre page?

Je ne comprends pas vraiment ce que vous essayez de faire ... Est-ce que vous avez juste besoin d'écrire ce code? :

public void resetDataScroller(ActionEvent evt) {
    final FacesContext ctx = FacesContext.getCurrentInstance();
    HtmlDatascroller htmlDatascroller = (HtmlDatascroller) ctx.getViewRoot().findComponent("paginator_and_table:scroll_1");
    htmlDatascroller.setPage(1);
    htmlDatascroller.setValue(1);
}

Si vous modifiez ces propriétés du HtmlDatascroller au cours de cette phase, ils seront utilisés par JSF au cours de la dernière phase (la phase Render Response) pour générer votre code HTML ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top