Pergunta

na minha aplicação JSF eu preciso atualizar componente ui durante a fase de aplicação de invocação. Isso pode ser feito? Aqui está o código que eu tenho produzido até agora:

    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 ação ouvinte olha para cima da página e valor de componentes e conjuntos dataScroller a 1. Infelizmente ele não parecem trabalhar em tudo, porque prestados dataScroller tem diferentes página de 1.

Estou faltando alguma coisa?

Foi útil?

Solução

Eu imagino que o seu resetDataScroller um método chamado por um atributo actionListener de um botão de comando / link na sua página?

Eu realmente não entendo o que você está tentando fazer ... Você só precisa escrever esse 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);
}

Se você alterar essas propriedades do HtmlDatascroller durante esta fase, eles serão usados ??por JSF durante a última fase (a fase Render Response) para gerar o código HTML ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top