Pregunta

en mi aplicación JSF es necesario que actualice los componentes de interfaz de usuario durante la fase de aplicación de invocación. Se puede hacer? Aquí está el código que he producido hasta ahora:

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


        }
    });

}

Esta acción oyente mira hacia arriba componente dataScroller y la página de juegos y valor a 1. Por desgracia, no parece funcionar en absoluto, porque dictada dataScroller tiene página diferente de 1.

Me estoy perdiendo algo?

¿Fue útil?

Solución

Me imagino que su resetDataScroller un método llamado por un atributo actionListener de un botón de comando / enlace en su página?

No entiendo muy bien lo que está tratando de hacer ... ¿Es sólo tiene que escribir el código? :

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 cambia estas propiedades del HtmlDatascroller durante esta fase, que serán utilizados por JSF en la última fase (la fase Render Response) para generar el código HTML ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top