Domanda

nella mia richiesta JSF ho bisogno di aggiornare componente dell'interfaccia utente durante la fase di applicazione invoke. Può essere fatto? Ecco il codice che ho prodotto finora:

    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);


        }
    });

}

Questa action listener guarda componente dataScroller e pagina set e valore a 1. Purtroppo non sembra funzionare affatto, perché reso dataScroller ha pagina diversa da 1.

mi sto perdendo qualcosa?

È stato utile?

Soluzione

Immagino che il vostro resetDataScroller un metodo chiamato da un attributo actionListener di un pulsante di comando / link nella tua pagina?

Io non capisco che cosa si sta cercando di fare ... Avete solo bisogno di scrivere questo codice? :

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);
}

Se si modificano queste proprietà del HtmlDatascroller durante questa fase, verranno utilizzati da JSF durante l'ultima fase (fase Render Response) per generare il codice HTML ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top