JSF - Обновление модели на этапе вызова приложения

StackOverflow https://stackoverflow.com/questions/1458559

  •  12-09-2019
  •  | 
  •  

Вопрос

в моем приложении JSF мне нужно обновить компонент пользовательского интерфейса на этапе вызова приложения.Можно ли это сделать?Вот код, который я создал на данный момент:

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


        }
    });

}

Этот прослушиватель действий просматривает компонент dataScroller и устанавливает страницу и значение равными 1.К сожалению, похоже, что это вообще не работает, потому что отображаемый dataScroller имеет страницу, отличную от 1.

Я что-то упускаю?

Это было полезно?

Решение

Я представляю, что ваш resetDataScroller метод , вызываемый actionListener атрибут командной кнопки / ссылки на вашей странице?

Я действительно не понимаю, что вы пытаетесь сделать...Вам просто нужно написать этот код?:

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

Если вы измените эти свойства HtmlDatascroller на этом этапе, они будут использоваться JSF на последнем этапе (the Render Response фаза) для генерации вашего HTML-кода...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top